我使用相同的用户 ID、LDAP 连接字符串绑定到 LDAP 服务器并获取信息。
工具 #1 一致且可靠地公开 msExchMailboxGuid。
工具 #2 (.NET) 不公开 msExchMailboxGuid。有时它为空,有时则不为空。
(注意:我不是在寻求代码/开发人员支持)
DirectoryEntry de = new DirectoryEntry();
de.Path = "LDAP://ldap.exchange.serverdata.net:636/DC=exchange,DC=serverpod,DC=net";
de.Password = "PASSWORD";
de.Username = "[email protected]";
de.AuthenticationType = AuthenticationTypes.Secure;
DirectorySearcher ds = new DirectorySearcher();
ds.PropertiesToLoad.Add("cn");
ds.PropertiesToLoad.Add("mail");
ds.PropertiesToLoad.Add("samAccountName");
ds.PropertiesToLoad.Add("msExchMailboxGuid");
ds.PropertiesToLoad.Add("proxyAddresses");
ds.PropertiesToLoad.Add("targetAddress");
ds.PageSize = 800;
ds.Filter = "(&(objectCategory=person)([email protected]))";
SearchResultCollection results = ds.FindAll();
这段代码非常简单,但是当我替换[电子邮件保护]和[电子邮件保护],该属性就消失了。(但在其他工具中可见)
是否存在任何合乎逻辑的 AD 原因导致属性在特定情况下缺失?这些情况是什么?
我该如何调试这种 LDAP 查询?