Tengo una tarea ejecutándose en una configuración de servidor Hyper-V como tal:
schtasks /CREATE /TN AutoShutdown /RU "SYSTEM" /TR "Powershell \"C:\AutoShutdown.ps1\"" /SC ONSTART
Se ejecuta correctamente (hasta donde yo sé), sin embargo, el script tiene una línea para apagar la computadora y nunca lo hace.
start-sleep 120
while (1) {$vm = get-vm; if ($vm.state -ne "Running") {stop-computer} else {"Running..."; start-sleep 10}}
Si ejecuto la tarea en el espacio de usuario:
schtasks /CREATE /TN AutoShutdown /TR "Powershell \"C:\AutoShutdown.ps1\"" /SC ONLOGIN
Funciona perfectamente.
Respuesta1
stop-computer necesita el indicador -force para funcionar, supongo, cuando se ejecuta como un proceso. Cambiar para stop-computer -force
solucionar el problema.