当我应用过滤器时:
(&(objectCategory=person)(objectClass=user)(xxx@xxxxx.com))
在Powershell上并在c#中使用DirectoryEntry我得到不同的结果
我在Powershell上运行:
Get-ADUser -LDAPFilter"(&(objectCategory = person)(objectClass = user)(xxx@xxxxx.com))"
为什么会这样?它与用户有关吗?
答案 0 :(得分:0)
首先请注意,在您提供的示例中,过滤器的语法无效。第3部分 - (xxx@xxxxx.com) - 不是有效的过滤器表达式。我想你想要的东西(userprincipalname=xxx@xxxxx.com)。
Get-ADUser和DirectoryEntry之间的区别很可能是由于Get-ADUser在其语义暗示时添加了额外的过滤。如果您希望具有相同的行为,请考虑使用Get-ADObject并确保基本DN和搜索范围参数相同。