В Powershell есть ли способ остановить службу, указать время ожидания, а затем перезапустить эту службу? - PullRequest
0 голосов
/ 27 марта 2019

Мне нужно создать скрипт, который получит сервис, остановит его и подождет 60 секунд, прежде чем перезапускать сервис.Какие командлеты я бы включил?

Я пытался использовать командлет "Restart-Service", поскольку в описании справки утверждается, что он предназначен для запуска и перезапуска данной службы, но ни один из связанных параметров не предлагаетспособ установить указанное время до перезапуска службы.

Любые предложения будут оценены.Спасибо!

1 Ответ

0 голосов
/ 27 марта 2019

Вы можете попробовать что-то вроде этого:

$serviceName="MyService";
$waitTime = New-TimeSpan -Minutes 1
$service = Get-Service -Name $serviceName 
$service.Stop()
$service.WaitForStatus("Stopped", $waitTime)
$service.Start()
$service.WaitForStatus("Running", $waitTime)

Вы также можете запросить службу по отображаемому имени, если хотите.
Вы должны проверить, работает ли служба, иначе остановка выдаст исключение

...