У меня проблема с тем, что служба неправильно отображает статус «может завершить работу». Простой пример кода:
for ($counter = 0; $counter -le 5; $counter++) {
if ((Get-Service -Name BITS).CanShutDown) {
Write-Output "BITS can shutdown.."
break
}
else {
Write-Output "Waiting for service shutdown status.. $counter"
Start-Sleep -Seconds 30
}
}
Это выводит:
Waiting for service shutdown status.. 0
Waiting for service shutdown status.. 1
Waiting for service shutdown status.. 2
Waiting for service shutdown status.. 3
Waiting for service shutdown status.. 4
Waiting for service shutdown status.. 5
Если я открою консоль и использую Start-Service -Name BITS
во время работы скрипта, цикл не заканчивается.
Почему CanShutDown
всегда возвращает False? Даже если BITS остановлен или работает.