使用 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$" }
我正在尝试使用 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$" }