Вы можете проверить свои привилегии, используя whoami /priv
, и вы должны увидеть что-то вроде:
Privilege Name Description State
========================================= ================================================================== ========
SeShutdownPrivilege Shut down the system Disabled
Если привилегия указана в списке, это означает, что ваша учетная запись пользователя имеет привилегию.Он должен быть специально включен во время сценария, чтобы его можно было использовать:
Для выключения локального компьютера вызывающий поток должен иметь привилегию SE_SHUTDOWN_NAME,По умолчанию пользователи могут включить привилегию SE_SHUTDOWN_NAME на компьютере, на котором они зарегистрированы, а администраторы могут включить привилегию SE_REMOTE_SHUTDOWN_NAME на удаленных компьютерах.
Источник
Я не нашел простого пакетного решения для включения этой привилегии, но вы можете сделать то же самое, используя SysInternals 'psshutdown
с опцией -d
.
Решения PowerShell для этого, которые я обнаружил для изменения привилегий во время выполнения скрипта, не работали для меня.