Powershell:Where对象通配符
我想在Active Directory用户的所有属性中搜索特定电话号码/分机 我可以得到如下所有属性:Powershell:Where对象通配符,powershell,active-directory,Powershell,Active Directory,我想在Active Directory用户的所有属性中搜索特定电话号码/分机 我可以得到如下所有属性: get-aduser joesmith -Properties * 但是我想过滤结果,比如说分机1234(可能在很多地方,比如分机Attribute1、OfficePhone、HomePhone、Mobile等) 我试过: get-aduser joesmith -Properties * | where-object {$_ -like "*1234*" } 但是object想要$的位置
get-aduser joesmith -Properties *
但是我想过滤结果,比如说分机1234(可能在很多地方,比如分机Attribute1、OfficePhone、HomePhone、Mobile等)
我试过:
get-aduser joesmith -Properties * | where-object {$_ -like "*1234*" }
但是object想要$的位置,我不知道精确的值
我应该如何搜索多个属性的值?我希望看到如下结果:
mobile 1234
officephone 12345
othermobile 61234
要遍历不知道其名称的属性(即OfficePhone、CustomAttribute2、mobile)的值,可以使用以下命令:
get-aduser joesmith -Properties * | foreach-object {
foreach ($property in $_.PSObject.Properties) {
if ($property.value -like "*1234*") {
"$($property.name) $($property.value)"
}
}
}
或者,您可以使用Get-Member,例如:
Get-aduser-joesmith-prop*| gm-MemberType-Property | select-ExpandProperty-name |%{if($test.$|-match“@philips”){[pscustomobject]@{name=$\uuu;Value=$test.$\u}}
,这可能也会让您更容易使用。