我正在使用我的工具中的GUI重启模块。 我想使用命令提示符" shutdown"这个命令行。 其目的是取代" shutdown -i"在多个服务器上然后我可以自动ping它们以检查重启是否成功。
在CMD中,命令行如下所示:
shutdown /r /t 30 /m \\server /c "reboot reason"
在我的剧本中,我会要求:
我将测试一些"如果" s时间选项,是否检查并且重启原因不为空,然后将所有这些添加到变量:
$reboot = "/r /t " + $time + "/m \\" + $server + "/c " + $comment
然后在powershell中的命令中使用该变量:
& shutdown $reboot
我的问题是这会有效吗?有没有人像这样使用它?或者有更好的方法吗? 我几天都无法测试它,因为我现在没有任何服务器可以在网络上自动重启。
答案 0 :(得分:1)
应该有用,是的。我还建议使用数组作为参数来保持它的清洁。
$time = 120
$server = "mycomputer"
$comment = "this is my comment."
$reboot = @("/r", "/t", $time, "/m", "\\$server", "/c", $comment)
& shutdown $reboot
或者您可以尝试使用WMI(未经测试):
$time = 120
$comment = "this is my comment."
$server = "mycomputer"
Invoke-WmiMethod -ComputerName $server -Class Win32_OperatingSystem -Name Win32ShutdownTracker -ArgumentList @($time, $comment, 0, 2)