PowerShell是一种面向对象的脚本语言和命令行。PowerShell中的每个命令都返回一个包含属性的对象。即使返回值是字符串或整数,实际上也是字符串对象或整数对象。
比较
命令比较对象(通常是命令输出)的对象最常用的用例之一。比较将根据输出属性进行,并且只返回匹配的行。比较通常由包含多行内容或输出的对象执行。在下面的示例中,我们将使用比较运算符来匹配进程ID 身份证件 是Get Process命令result的属性,8244是要比较的进程ID。
Get-Process | Where-Object Id -EQ 8244
![图片[1]-PowerShell Where Object命令教程-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/11/windowstect_image-28.png)
这个命令也可以像下面那样调用。不同之处在于,属性在下面的命令中显式表示。这个 -财产 用于指定要在返回对象中比较的属性名。这个 -价值 是我们要比较的值。这个 -情商 意思是平等。
Get-Process | Where-Object -Property Id -EQ -Value 8244
筛选服务
Where Object命令可用于根据不同的属性和参数筛选和列出服务。在这一部分中,我们将提供有关服务的过滤器,如仅列出正在运行的服务、仅列出已停止的服务等。
首先,通过将状态设置为“running”,我们将只列出正在运行的服务
Get-Service | Where-Object Status -eq "Running"
![图片[2]-PowerShell Where Object命令教程-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/11/windowstect_image-29.png)
使用以下PowerShell命令,可以列出已停止的进程。
Get-Service | Where-Object Status -eq "Stopped"
过滤过程
另一个流行的命令是 获取进程 用于列出进程的命令。Where对象用于根据进程ID、内存使用情况、CPU使用情况、名称、状态等不同属性筛选这些进程。
相关文章: 如何在Windows中更改文件扩展名?
在下面的示例中,我们将使用ProcessName属性根据进程的名称过滤进程。我们将使用 -匹配 财产。
Get-Process | Where-Object ProcessName -Match "ex"
我们还可以筛选和列出具有 中央处理器 使用CPU属性和 -燃气轮机 比较运算符,意思是“ 大于 “.
Get-Process | Where-Object CPU -gt 5