使用 PowerShell 过滤完全匹配的 windows 服务

Filter exactly matched windows services using PowerShell

我正在尝试使用 PowerShell

过滤掉 windows 服务

以下是我们拥有的 windows 服务:

service_1_UAT
service_UAT
service_2_UAT
service_3_UAT
service_1_Blue_UAT

如果我做服务_*_UAT 它提供了完整的服务列表,但 service_UAT。但我想要以下四个:

service_1_UAT
service_UAT
service_2_UAT
service_3_UAT

如果我给 service_*_Blue_UAT 它给出了正确的结果。

有什么方法可以使用 PowerShell Regex 过滤掉这些服务吗? 有人可以建议我如何过滤吗?

提前致谢。

看起来所有服务名称 实际上 匹配 DataGenerator_*_UAT 模式(在 DataGenerator_1_Blue_UAT 子字符串“1_Blue”之类的名称中也匹配 *)。

您可以使用带有正则表达式的 Where-Object 过滤器。假设 * 你的意思是除了下划线 (_):

Get-Service | Where-Object { $_.Name -match "^DataGenerator_([^_]+_)?UAT$" }