我有一些用户带有“ExchangeActiveSync 设备“对象内。我也有一些电脑已发布对象打印机里面。
那么我该如何使用某种统一的方法(使用 PowerShell)查找此类对象?我的意思是没有针对 AS 设备等的特定 Exchange 命令。一定有一种方法可以使用某种 [ADSI] 魔法或类似的东西来查找内部有另一个对象的对象,对吧?
答案1
您可以使用父对象的 SearchBase 来查找子对象,例如:
Get-ADUser -Filter *|
ForEach-Object{
$childObj = Get-ADObject -Filter * -SearchBase $_.DistinguishedName
[PSCustomObject]@{
ComputerName = $_.Name
ChildCount = $childObj.Count
msExchActiveSyncDevice = $childObj | Where-Object {$_.ObjectClass -eq "msExchActiveSyncDevice"}
}
}
答案2
可以尝试使用 Get-ADObject cmdlet 在 Active Directory 中搜索对象,并使用 -Filter 参数过滤结果。过滤器应采用 LDAP 查询格式,您可以使用 -Properties 参数指定要检索对象的哪些属性。可能像这样:
Get-ADObject -Filter {objectClass -eq "user" -and msExchActiveSyncDevices -ne $null} -Properties msExchActiveSyncDevices