如何使用PowerShell获取特定过程信息?

  • 若要使用Get-Process cmdlet查找特定进程,您需要使用–Name参数。您可以使用单个或多个进程名称。

命令

Get-Process -Name AcroRd32, audiodg

输出结果

Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
506 27 9888 19216 2.22 6320 1 AcroRd32
632 51 112196 17648 42.95 8052 1 AcroRd32
209 13 10344 17100 13.98 22748 0 audiodg

您还可以使用Where-Object(别名:Where)命令来实现相同的目的。

Get-Process | Where{$_.Name -eq "AcroRd32"}

但是要获得多个流程,您需要使用–OR比较运算符。

Get-Process | Where{($_.Name -eq "AcroRd32") -or ($_.Name -eq "AudioDg")}

结果将与上面显示的相同。

  • 要使用WMI对象获取特定的过程信息,可以使用–Filter参数或管道Where-Object命令。

    使用Where-Object命令。

Get-WmiObject Win32_Process | Where{($_.Name -eq "AcroRd32.exe") -or ($_. Name -eq "AudioDg.exe")}

使用–Filter参数。

Get-WmiObject Win32_Process -Filter {Name = 'AcroRD32.exe'}

要获得多个流程,您需要使用AND比较运算符。

Get-WmiObject Win32_Process -Filter {Name = 'AcroRD32.exe' or Name = 'AudioDg.exe'}