Запускать надо из планировщика, указывая программу как powershell.exe (путь необязательно), а аргументы как
Код:
-file "c:\путь\к\скрипту.ps1" -executionpolicy bypass
Не забыть поставить галку запуска с повышенными правами и указать админскую учётку, если нужно.
1.
Код:
function Stop-Svc {
[CmdletBinding()]
param (
[Parameter(Mandatory)]
[string]$svc
)
do {
Stop-Service $svc
sleep 2
}
until ((get-service $svc).status -eq "Stopped")
}
Stop-Svc service1
Stop-Svc service2
Stop-Svc service3
Stop-Svc service4
& shutdown.exe -r -t 0 -f
2.
Код:
if (!((Get-Service service1,service2,service3,service4).Status -notmatch "running")) {
& "C:\temp\start.bat"
}
Не особо тестировал, потренируйтесь на кошках перед внедрением.