Powershell小技巧之使用WMI测试服务响应

时间:2022-11-21 11:42:17

测试一个服务是否有响应,有一个好办法。首先,使用WMI查询你指定的服务,WMI中可以返回构成它进程的ID。

?
1
2
3
4
5
6
7
8
9
function Test-ServiceResponding($ServiceName)
{
 $service = Get-WmiObject -Class Win32_Service -Filter "Name='$ServiceName'"
 $processID = $service.processID
 
 $process = Get-Process -Id $processID
 
 $process.Responding
}

接下来,这个进程对象将将告诉你这个进程是否有反应:

?
1
2
PS> Test-ServiceResponding -ServiceName Spooler
True

注意这个例子代码中假设它的服务是运行的,如果需要,你也可以检查下服务有没有运行。

本方法适合所有的powershell版本