Назад | Перейти на главную страницу

Сценарий Powershell по расписанию задачи не выключает компьютер

У меня есть задача, выполняемая на сервере Hyper-V как таковая:

schtasks /CREATE /TN AutoShutdown /RU "SYSTEM" /TR "Powershell \"C:\AutoShutdown.ps1\"" /SC ONSTART

Он работает правильно (насколько я могу судить), однако в сценарии есть строка для выключения компьютера, а этого никогда не происходит.

start-sleep 120
while (1) {$vm = get-vm; if ($vm.state -ne "Running") {stop-computer} else {"Running..."; start-sleep 10}}

Если я запустил задачу в пользовательском пространстве:

schtasks /CREATE /TN AutoShutdown /TR "Powershell \"C:\AutoShutdown.ps1\"" /SC ONLOGIN

Работает отлично.

Stop-computer нуждается в флаге -force для работы, я думаю, при запуске в качестве процесса. Переход на stop-computer -force исправил проблему.