Powershell where子句过滤

Posted

技术标签:

【中文标题】Powershell where子句过滤【英文标题】:Powershell where clause filtering 【发布时间】:2014-03-04 04:44:19 【问题描述】:

我正在尝试使用 powershell 脚本过滤在服务器中运行的服务。但是语法似乎不正确

脚本

Get-Service -ComputerName $ServerName |Where-Object $_.Name -like "DEX*" -or $_.Name -like "WORLD*" -or $_.Name -like "Entr *"

突出显示的部分有问题。非常感谢任何帮助..

【问题讨论】:

我看到的第一件事是您的示例缺少结束 。运行此行时,您看到了哪些错误和/或意外行为? 添加了大括号。添加时错过了。 它只是获取名称为“DEX*”的服务,其他部分被忽略 【参考方案1】:

Get-Service Name 属性中匹配服务的短名称。你不需要DisplayName 吗?

Get-Service -ComputerName $ServerName |Where-Object $_.DisplayName -like "DEX*" -or $_.DisplayName -like "WORLD*" -or $_.DisplayName -like "Entr*"

另外,您的服务简称或显示名称真的以 WORLDEntr 开头?

【讨论】:

是的 JPBLanc 显示名称以 World 和 Entr.. 开头。谢谢【参考方案2】:

一旦您知道您正在寻找显示名称,这是一种最短的方法:

 get-service -displayname DEX*,WORLD*,Entr*

【讨论】:

以上是关于Powershell where子句过滤的主要内容,如果未能解决你的问题,请参考以下文章

Powershell 使用 WHERE 子句插入 MS Access

如何将 WHERE 子句添加到 Power BI 中的 SQL 或 Access 数据源?

实体框架 where 子句从特定列过滤

postgres:是不是按返回顺序应用 where 子句过滤器

数据库-过滤数据

[MySQL] 过滤数据