对于软件更新,我需要知道特定服务是否在所有计算机上运行。如果没有,我需要在丢失的设备上启动此服务。
是否有可能在C#或PowerShell中实现这一点?
答案 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