重启服务器并轮询已启动的服务

时间:2016-10-19 22:59:28

标签: powershell

如果我要创建一个脚本来重新启动服务器并等待已启动的服务SERVICE123 - NODE1重新启动,我该怎么做?

我有以下内容:

Restart-Computer -ComputerName COMPUTER123456 wait -For SERVICE123 - NODE1 -Timeout 400 -Delay 5

如果没有,是否有一个我可以用来轮询已启动服务的脚本?我希望它能保持20分钟左右,直到此服务节点启动并运行。

1 个答案:

答案 0 :(得分:0)

要查看服务是否正在运行,您可以使用invoke命令。并执行 cmdlet在服务器上获取服务。

$service =  Invoke-Command -ComputerName COMPUTER123456 -ScriptBlock { Get-Service -Name $args[0] } -ArgumentList "Service123"

通过$service.Status,您可以查看服务是正在运行还是已停止。

Normaly它应该适用于您的代码和restart-Computer cmdlet, 什么是错误,是否有任何错误。为什么你的代码不起作用?

我有一个想法,你必须把连字符放在参数' wait' = -Wait

Restart-Computer -ComputerName COMPUTER123456 -Wait -For "SERVICE123 - NODE1" -Timeout 400 -Delay 5 

看看MSTechnet 在示例6中,您可以准确地看到所需内容。

Greets Eldo.Ob