脚本检查状态并在需要时启动服务

时间:2015-06-25 19:54:01

标签: powershell windows-services windows-server-2008 configurationmanager sccm

在编写PowerShell脚本以检查服务状态时需要帮助,如果已停止则需要启动。服务包括:NomadBranch,BITS,Ccmexec。

1 个答案:

答案 0 :(得分:3)

SO不是人们为您编写代码的地方,也不是替代教程(或找到一个教程的地方)的地方。但是,既然你的问题很简单,我也会回答。不过,不要指望这种情况经常发生。

使用*-Service cmdlet管理服务。 Get-Service -Name 'foo'获取名为“foo”的服务的属性。 Start-Service -Name 'foo'启动该服务,Stop-Service -Name 'foo'停止该服务。

您可以通过过滤状态为Get-Service的{​​{1}}的输出来查找已停止的服务,并通过将过滤后的结果汇总到Stopped来启动已停止的服务:

Start-Service

使用$services = 'NomadBranch', 'BITS', 'Ccmexec' Get-Service | Where-Object { $services -contains $_.Name -and $_.Status -eq 'Stopped' } | Start-Service cmdlet列出特定名词的cmdlet(此处为“Service”):

Get-Command

并使用Get-Command -Noun 'Service' cmdlet获取有关特定cmdlet的更多信息,例如:

Get-Help