【发布时间】:2026-02-04 21:40:01
【问题描述】:
我需要停止服务,一旦服务停止,我需要重新启动系统。重启后,如果服务处于停止状态,我需要使用 powershell 脚本启动服务。
$stage= get-service -name "chrome"
if ( $stage.Status -eq "Running" )
{
Write-Host "The service " $stage.Name "is running"
Stop-Service -Name 'chrome'
}
if ( $stage.Status -eq "Stopped")
{
Restart-Computer -Wait
Start-Service 'chrome'
}
【问题讨论】:
-
您的脚本无法在重新启动后继续存在,因此您要么必须从另一台计算机运行该脚本,要么让您的 chrome 服务自动启动,或者在启动时有一个计划任务来启动 chrome 服务。最简单的方法是在服务管理器中将 chrome 服务设置为自动(我相信默认值是什么?!)
-
@LievenKeersmaekers 我的情况对吗?或者我需要改变它。因为我需要验证它,一旦 chrome 服务停止,我只需要执行重启
-
在您自己的计算机上执行
Restart-Computer -Wait要么失败,要么在此时结束脚本(我不知道,还没有测试过)。无论哪种方式,以目前的形式,您的Start-Service 'chrome'永远无法到达。将 chrome 服务设置为自动并让 Windows 负责在重新启动时启动它是否有问题? -
@LievenKeersmaekers chrome 只是一个示例服务,我正在寻找其他服务。当我执行脚本时它只是停止服务它不会移动到下一步重新启动机器
-
Restart-Computer -Wait在本地计算机上不起作用(解释见我的answer here)
标签: powershell