#powershell-5.0
#powershell-5.0
Вопрос:
Мне нужно создать скрипт, который получит службу, остановит ее и подождет 60 секунд перед перезапуском службы. Какие командлеты я бы включил?
Я пытался использовать командлет «Restart-Service», поскольку в описании справки утверждается, что он предназначен для запуска и перезапуска данной службы, но ни один из связанных параметров не предлагает способ установить указанное время перед перезапуском службы.
Любые предложения будут оценены. Спасибо!
Ответ №1:
Вы могли бы попробовать что-то вроде этого:
$serviceName="MyService";
$waitTime = New-TimeSpan -Minutes 1
$service = Get-Service -Name $serviceName
$service.Stop()
$service.WaitForStatus("Stopped", $waitTime)
$service.Start()
$service.WaitForStatus("Running", $waitTime)
Вы также можете запросить службу по отображаемому имени, если хотите.
Вы должны проверить, запущена ли служба, иначе stop выдаст исключение