VBScript mit Administratorrechten startet kein weiteres VBScript
Hallo, ich möchte ein VBScript innerhalb eines VBScripts aufrufen. Dies gelingt auch ohne Administratorrechte problemlos.
Starte ich hingegen das aufrufende VBScript mit Admin-Rechten, startet das aufzurufende VBScript nicht.
Folgende Befehle benutze ich zum Ausführen des VBScripts mit Adminrechten. Funktioniert auch, die Benutzerkontensteuerung meldet sich jedenfalls.
If WScript.Arguments.length =0 Then
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "wscript.exe", Chr(34) & _
WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
Else
'--------------
'Start of code
' Hier wird der eigentliche Programmcode eingetragen
end if
Ich freue mich über mögliche Lösungsvorschläge.
Starte ich hingegen das aufrufende VBScript mit Admin-Rechten, startet das aufzurufende VBScript nicht.
Folgende Befehle benutze ich zum Ausführen des VBScripts mit Adminrechten. Funktioniert auch, die Benutzerkontensteuerung meldet sich jedenfalls.
If WScript.Arguments.length =0 Then
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "wscript.exe", Chr(34) & _
WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
Else
'--------------
'Start of code
' Hier wird der eigentliche Programmcode eingetragen
end if
Ich freue mich über mögliche Lösungsvorschläge.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 445994
Url: https://administrator.de/forum/vbscript-mit-administratorrechten-startet-kein-weiteres-vbscript-445994.html
Ausgedruckt am: 15.04.2025 um 11:04 Uhr
9 Kommentare
Neuester Kommentar
Was ist "der eigentliche Programmcode"? Beachte dass das Arbeitsverzeichnis deines Scripts sobald es mit erhöhten Rechten gestartet worden ist, automatisch System32 ist. Falls du also irgend etwas mit relativen Pfaden machen willst, musst du vorher wieder in das Scriptverzeichnis wechseln. Ansonsten funktioniert dein Code, was du mit einem einfachen
herausfinden kannst, sofern das Script nicht mit einem anderen Account gestartet wurde.
Steffen
WScript.Echo "Hello, World!"
herausfinden kannst, sofern das Script nicht mit einem anderen Account gestartet wurde.
Steffen
Hmm, die Run Methode ruft IMO eine CMD Shell auf. Falls der tatsächliche Pfad Leerzeichen beinhalten sollte, teste
Steffen
objShell.Run "cscript ""J:\MeinScript\Test.vbs"""
Steffen
Zitat von @KrautundRueben:
Jetzt hab ich es herausgefunden. Es war eine falsche Pfadangabe. Ich hatte eine Pfadangabe wie folgt: Include ".\ClassIniFile.vbs"
Ich habe diese abgeändert auf : Include "J:\Test\ClassIniFile.vbs"
Dein Gedanke mit dem Arbeitsverzeichnis hat mich meinen Code nochmal genauer nachschauen lassen. Vielen Dank.
Gruß Arno
LolJetzt hab ich es herausgefunden. Es war eine falsche Pfadangabe. Ich hatte eine Pfadangabe wie folgt: Include ".\ClassIniFile.vbs"
Ich habe diese abgeändert auf : Include "J:\Test\ClassIniFile.vbs"
Dein Gedanke mit dem Arbeitsverzeichnis hat mich meinen Code nochmal genauer nachschauen lassen. Vielen Dank.
Gruß Arno