CMD-Befehl mit Administrator-Rechten in VB-Script ausführen
in VErbindung mit cpau.exe
Hallo Leute,
ich möchte einen DOS-Befehl in einem VB-Script ausführen und mache das folgendermaßen :
WSHShell.run "route delete 194.59.247.25", 1, True
Funktioniert einwandfrei wenn ich als Administrator angemeldet, als normaler User natürlich nicht. Jetzt möchte ich aber auch Route setzen und löschen als "normaler" User. Das geht wunderbar mit dem Tool cpau.exe .
Hier der Dos-Befehl den ich dazu getestet habe :
cpau -u server\administrator -p tollespasswort -ex "route delete 194.59.247.26" -wait
Dieser Befehl funktioniert wunderbar in einer DOS-Box, route wird mit den entsprechenden Rechten (in dem Fall Administrator) ausgeführt.
Jetz möchte ich das natürlich auch in dem Script verwenden. Die Syntax wäre logischerweise dann :
WSHShell.run "cpau -u server\administrator -p tollespasswort -ex "route delete 194.59.247.26" -wait", 1, True
Jetzt kommtdie Kacke das Überraschende [edit by Biber] : Erwartungsgemäß fällt der Kompiler (also der Scripting Host von Windows) auf die Nase mit einer Fehlermeldung : Anweisungsende erwartet. Klar, weil die Syntax von cpau die Parameter in Anführungszeichen übergibt, und das eigentliche Kommando WSHShell natürlich auch - somit erkennt der WSH das Ende der Aweisung zu früh und kann mit dem Rest nichts mehr anfangen.
Jemand eine Idee wie man das lösen kann ?
Vielen Dank
Tom
[Edit Biber]: es ist ein CMD-Befehl, kein DOS-Befehl. hab ich im Titel editiert, weil ich ohnehin eine Kleinigkeit im Text ändern wollte. S.o.[/Edit]
Hallo Leute,
ich möchte einen DOS-Befehl in einem VB-Script ausführen und mache das folgendermaßen :
WSHShell.run "route delete 194.59.247.25", 1, True
Funktioniert einwandfrei wenn ich als Administrator angemeldet, als normaler User natürlich nicht. Jetzt möchte ich aber auch Route setzen und löschen als "normaler" User. Das geht wunderbar mit dem Tool cpau.exe .
Hier der Dos-Befehl den ich dazu getestet habe :
cpau -u server\administrator -p tollespasswort -ex "route delete 194.59.247.26" -wait
Dieser Befehl funktioniert wunderbar in einer DOS-Box, route wird mit den entsprechenden Rechten (in dem Fall Administrator) ausgeführt.
Jetz möchte ich das natürlich auch in dem Script verwenden. Die Syntax wäre logischerweise dann :
WSHShell.run "cpau -u server\administrator -p tollespasswort -ex "route delete 194.59.247.26" -wait", 1, True
Jetzt kommt
Jemand eine Idee wie man das lösen kann ?
Vielen Dank
Tom
[Edit Biber]: es ist ein CMD-Befehl, kein DOS-Befehl. hab ich im Titel editiert, weil ich ohnehin eine Kleinigkeit im Text ändern wollte. S.o.[/Edit]
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7427
Url: https://administrator.de/contentid/7427
Ausgedruckt am: 26.11.2024 um 12:11 Uhr
3 Kommentare
Neuester Kommentar
@KopfLeer
Ich habe den Beitrag von "Windows" nach "VB, VBA und .NET" verschoben, wo zwar VBSkript auch nicht ganz 100%ig hingehört, aber... diese Chr(34)-Maskierung ist schom M$-VB-Typisch.
Außerdem habe ich zwei Winzigkeiten im Eröffnungsthread geändert/editiert.
Und den bereits als gelöst markierten Thread geschlossen.
Gruss
Biber
Ich habe den Beitrag von "Windows" nach "VB, VBA und .NET" verschoben, wo zwar VBSkript auch nicht ganz 100%ig hingehört, aber... diese Chr(34)-Maskierung ist schom M$-VB-Typisch.
Außerdem habe ich zwei Winzigkeiten im Eröffnungsthread geändert/editiert.
Und den bereits als gelöst markierten Thread geschlossen.
Gruss
Biber