MIk*_*ode 2 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();
Run Code Online (Sandbox Code Playgroud)
但我在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()
Run Code Online (Sandbox Code Playgroud)
未指定的错误意味着您的LDAP路径缺少LDAP协议标识符.确保您的路径包含大写的LDAP协议标识符.
例:
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();
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.