Remove
C:\Windows\System32\cmd.exe /k
from the batch file.
Running cmd.exe
will start a new command prompt, which is usually not what you want within a batch file.
Я должен установить обновления Windows на нескольких автономных системах. У меня есть скрипт update_script.bat, который запускается, но поскольку он проходит через установку каждого обновления, мне предлагают элементы управления UAC для моих учетных данных. Поэтому я нашел параметр командной строки для отключения UAC.
@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
Таким образом, когда я передаю свои сценарии своим подчиненным администраторам, они могут быстро запустить первый сценарий; он автоматически выйдет из системы, затем они смогут выполнить второй файл сценария (update_script.bat), но проблема, с которой я сталкиваюсь, заключается в том, что при тестировании первого сценария для отключения UAC командное окно останавливается на:
Отключение элементов управления UAC ...
Операция завершилась успешно.
C: \ Обновление>
вместо завершения и принудительного выхода пользователя из системы.
Как заставить систему / скрипт принудительно выйти из системы после отключения элементов управления UAC?
Remove
C:\Windows\System32\cmd.exe /k
from the batch file.
Running cmd.exe
will start a new command prompt, which is usually not what you want within a batch file.