测试一个服务是否有响应,有一个好办法。首先,使用WMI查询你指定的服务,WMI中可以返回构成它进程的ID。
function Test-ServiceResponding($ServiceName) { $service = Get-WmiObject -Class Win32_Service -Filter "Name='$ServiceName'" $processID = $service.processID $process = Get-Process -Id $processID $process.Responding }
接下来,这个进程对象将将告诉你这个进程是否有反应:
PS> Test-ServiceResponding -ServiceName Spooler True
注意这个例子代码中假设它的服务是运行的,如果需要,你也可以检查下服务有没有运行。
本方法适合所有的powershell版本
您可能感兴趣的文章:
- 探索PowerShell(十三) WMI对象介绍
- 探索PowerShell(十四) 使用WMI对象的方法
- Powershell小技巧之使用WMI查询插上的U盘
- PowerShell入门教程之访问.Net程序集、COM和WMI实例
- Powershell小技巧之使用WMI工具
本文由 华域联盟 原创撰写:华域联盟 » Powershell小技巧之使用WMI测试服务响应
转载请保留出处和原文链接:https://www.cnhackhy.com/14396.htm