简化Where-Object以过滤多个相同的对象

时间:2016-01-05 11:02:53

标签: powershell

您如何简化以下脚本?

Get-ADComputer -Filter * -properties * | Where-Object {
  $_.OperatingSystem -like "*2003*" -and
  $_.OperatingSystem -like "*2008*" -and
  $_.OperatingSystem -like "*2012*"
} | sort name | ft name, description, OperatingSystem

我一直在寻找这一个并希望得到一些帮助。我知道我可以使用"*20*"进行简化,但我会得到我的结果,但我想知道如何使用多个标准(例如XP,Windows 10等)。

1 个答案:

答案 0 :(得分:3)

您可以使用-match运算符使用正则表达式

...|?{$_.operatingsystem -match "2008|2012|XP" }

知道?Where-Object的别名。有关其中的更多信息,请参阅Get-Alias的输出。