活动目录 findone() 方法
我试图使用这一行查询广告,
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()
im trying to inquire Ad by using this line`s
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();
but im getting an exception in the 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()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
未指定的错误意味着您的 LDAP 路径缺少 LDAP 协议标识符。
确保您的路径包含大写的 LDAP 协议标识符。
示例:
希望这会有所帮助。
Unspecified error means, that your LDAP path is missing the LDAP protocol identifier.
Ensure that your path contains the LDAP protocol identifier in upper case.
Example:
Hope, this helps.
注意: “(objectClass=*)”语句周围的 string.Concat() 之所以存在,是因为在那里添加其他语句或变量是很常见的。
确保您有一个正确的 LDAP 字符串,我建议使用语句来确保您随后处理掉所有内容。
Note: The string.Concat() around the "(objectClass=*)" statement is there because It's common to add additional statements or variables there.
Make sure you have a proper LDAP string, and I would suggest using statements to make sure you dispose of everything afterwards.
严重的是,我的错误比提到的例外更为基本。
我写了这个错误的活动目录语句
当我在语句中添加“LDAP://”时,
,它解决了这个问题,感谢分配的支持
acutely my mistake was much more basic than the exception mentioned ..
i wrote this wrong active directory statement
when i added "LDAP://" to the statement it solve it
thanks allot for the support
尝试这种方式:
在这种情况下,我以用户和密码身份进行身份验证。如果您从域内的计算机运行该程序,则不需要进行身份验证。 此处提供了一个很好的示例。
try yhis way :
In this case I authenticate as a user and a password. If you run the program from a computer inside the domain, you don't need to authenticate. You've got a good sample here.