c# - 事件目录 findone() 方法

标签 c# active-directory

我正在尝试使用此行查询广告

            DirectoryEntry de = null;
            SearchResult results = null;
            de = new DirectoryEntry();

            //geting the result FROM ad
            de.Path = dr.manager;
            de.AuthenticationType = AuthenticationTypes.Secure;
            DirectorySearcher search = new DirectorySearcher(de);
            search.Filter = string.Format("(objectClass={0})",'*');
            search.PropertiesToLoad.Add("IsraelID");
            results = search.FindOne();
            de = results.GetDirectoryEntry();

但我在 findone() 中遇到异常

System.Runtime.InteropServices.COMException (0x80004005): Unspecified error

   at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
   at System.DirectoryServices.DirectoryEntry.Bind()
   at System.DirectoryServices.DirectoryEntry.get_AdsObject()
   at System.DirectoryServices.DirectorySearcher.FindAll(Boolean findMoreThanOne)
   at System.DirectoryServices.DirectorySearcher.FindOne()

最佳答案

未指定的错误意味着您的 LDAP 路径缺少 LDAP 协议(protocol)标识符。 确保您的路径包含大写的 LDAP 协议(protocol)标识符。

例子:

DirectoryEntry de = null; 
SearchResult results = null; 
de = new DirectoryEntry(); 

// Assuming your domain dns name is treyresearch.net 
de.Path = "LDAP://servername/CN=users,DC=treyresearch,DC=net"; 
de.AuthenticationType = AuthenticationTypes.Secure; 
de.Username = "treyresearch\\Administrator";
de.Password = "P@$$W0rd";
DirectorySearcher search = new DirectorySearcher(de); 
search.Filter = string.Format("(objectClass={0})",'*'); 
search.PropertiesToLoad.Add("IsraelID"); 
results = search.FindOne(); 
de = results.GetDirectoryEntry(); 

希望这对您有所帮助。

关于c# - 事件目录 findone() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7892655/

相关文章:

c# - WCF 静态变量在每次调用时重置

c# - NLog文件的自定义文件名

c# - 无法将对象复制到新数组中

active-directory - 使用 Microsoft Active Directory 进行群体 LDAP 配置

tomcat - 使用 tomcat 和 JNDI 针对多个 AD 组进行用户身份验证

powershell - 从电子表格更新 Active Directory

c# - List 上的 Select() 是否会忘记集合的大小?

c# - 将值从一个对象复制到另一个对象

c# - 内部企业 AD(事件目录)

AzureDevOps - 将订阅移动到不同的 AD 后无法获取访问 token