如果运行特定服务,请检查网络中的每台计

时间:2015-05-08 08:44:10

标签: c# windows powershell network-programming

对于软件更新,我需要知道特定服务是否在所有计算机上运行。如果没有,我需要在丢失的设备上启动此服务。

是否有可能在C#或PowerShell中实现这一点?

3 个答案:

答案 0 :(得分:1)

在PowerShell中,您可以使用*-Service cmdlet。 Get-Service可以通过其-ComputerName参数查询远程主机上的服务。然后可以过滤返回的服务并将其传送到Start-Service

$servers = 'FOO', 'BAR', 'BAZ', ...

Get-Service -ComputerName $servers -Name 'svcname' |
  ? { $_.Status -eq 'Stopped' } |
  Start-Service

答案 1 :(得分:0)

如何查找运行特定服务的计算机已在此处得到解答: how to get a pc list that have a service running on each pc?

然后您应该能够运行Start-Service -Name <Service Name>

答案 2 :(得分:0)

我最终在这里提出了所有建议的混合,并编写了一个PowerShell脚本。 非常感谢任何改进。

name