为什么Get-ADObject没有正确过滤ObjectClass =“user”?

时间:2013-07-31 18:17:23

标签: powershell active-directory powershell-v3.0

问题

Get-ADObject -Filter {ObjectClass = "User"}

返回用户和计算机。对象类正确显示为“用户”或“计算机”。

Get-ADobject -Filter {ObjectClass = "Computer"}

仅返回计算机。

其他观察

Get-ADObject "CN=desktop1,CN=Computers,DC=contoso,DC=com" `
| Get-Member -Property ObjectClass

返回

TypeName: Microsoft.ActiveDirectory.Management.ADObject

Name              MemberType            Definition
----              ----------            ----------
ObjectClass       Property              System.String ObjectClass {get;set;}

此外,这会按预期返回False

$(Get-ADObject "CN=desktop1,CN=Computers,DC=contoso,DC=com").ObjectClass -eq "User"

1 个答案:

答案 0 :(得分:4)

查询objectClass=User返回用户计算机对象,因为计算机类是从用户类派生的。如果您只想要用户对象,请过滤objectClass=User objectCategory=Person。请参阅here