
Ich muss Windows-Updates auf mehreren eigenständigen Systemen installieren. Ich muss mein update_script.bat-Skript ausführen, aber während es jedes Update in einer Schleife durchläuft, werde ich von UAC-Steuerelementen nach meinen Anmeldeinformationen gefragt. Also habe ich eine Befehlszeilenoption gefunden, um UAC auszuschalten.
@echo off
echo Disabling UAC controls...
C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v ConsentPromptBehaviorAdmin /t REG_DWORD /d 0 /f
shutdown /l /f
Auf diese Weise können meine untergeordneten Administratoren, wenn ich meine Skripte weitergebe, schnell das erste Skript ausführen. Sie werden dadurch automatisch abgemeldet und können dann die zweite Skriptdatei (update_script.bat) ausführen. Mein Problem besteht jedoch darin, dass das Befehlsfenster beim Testen des ersten Skripts zum Deaktivieren der Benutzerkontensteuerung bei folgender Stelle stoppt:
UAC-Steuerelemente werden deaktiviert …
Der Vorgang wurde erfolgreich abgeschlossen.
c:\updates>
anstatt den Vorgang abzuschließen und den Benutzer zwangsweise abzumelden.
Wie erzwinge ich, dass das System/Skript die Abmeldung erzwingt, nachdem ich die UAC-Steuerung deaktiviert habe?
Antwort1
Entfernen
C:\Windows\System32\cmd.exe /k
aus der Batchdatei.
Beim Ausführen cmd.exe
wird eine neue Eingabeaufforderung gestartet, was in einer Batchdatei normalerweise nicht erwünscht ist.