我正在使用PowerShell命令。我想用一个字段名称描述过滤记录。我成功过滤了一个名为“school”的描述。 我的命令是:
Get-ADuser -filter {(Description -eq "school")} -Properties * | select *
但我想过滤具有多个描述值的记录,例如“school”,“college”等。这怎么可能?
答案 0 :(得分:6)
您可以使用-or
声明:
Get-ADuser -filter {(Description -eq "school") -or (Description -eq "college")} -Properties * | select *
或者您可以创建一个数组并过滤结果,尽管这是在查询执行后进行过滤,因此可能需要更长时间。在通过where-object
之前尝试将过滤器应用于Get-AdUser是有意义的:
@filter = @("school", "college")
Get-ADuser -Properties * | where-object{@filter -contains $_.Description} | select *
答案 1 :(得分:2)
试试这个:
get-aduser -filter * -properties *|? {$_.description -like "school" -or $_.description -like "college"}
如果您要搜索包含学校的说明,请添加"*school*"
,然后在说明中查找学校的任何实例。
答案 2 :(得分:2)
$descriptions = "school", "college"
$filter = ($descriptions | % { "Description -eq '$_'" }) -join ' -or '
Get-ADuser -filter $filter -Properties Description