У меня есть задача, выполняемая на сервере 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
исправил проблему.