DirectoryEntry和Powershell显示不同的结果

时间:2018-02-09 00:47:24

标签: c# windows active-directory ldap

当我应用过滤器时:

(&(objectCategory=person)(objectClass=user)(xxx@xxxxx.com))

在Powershell上并在c#中使用DirectoryEntry我得到不同的结果

我在Powershell上运行:

Get-ADUser -LDAPFilter"(&(objectCategory = person)(objectClass = user)(xxx@xxxxx.com))"

为什么会这样?它与用户有关吗?

1 个答案:

答案 0 :(得分:0)

首先请注意,在您提供的示例中,过滤器的语法无效。第3部分 - (xxx@xxxxx.com) - 不是有效的过滤器表达式。我想你想要的东西(userprincipalname=xxx@xxxxx.com)。

Get-ADUser和DirectoryEntry之间的区别很可能是由于Get-ADUser在其语义暗示时添加了额外的过滤。如果您希望具有相同的行为,请考虑使用Get-ADObject并确保基本DN和搜索范围参数相同。