访问DirectoryServices属性时出现错误8000500c

时间:2013-04-11 23:50:17

标签: .net properties directoryservices

我是第一次发布海报,我希望有人可以帮我解决这个问题。

我有一些代码可以对LDAP服务器进行身份验证(我相信它是Novell eDirectory),然后检索某些属性。此代码在Windows 2003,Windows 2008和Windows 7上运行良好,但是当我在Windows 2012服务器上运行它(访问同一个LDAP存储)时,它会失败并在访问Property值时抛出错误8000500c。有趣的是,访问一些其他属性如cn工作正常,只有一些属性(如groupMembership)失败

以下是代码示例:

string ldapurl = "LDAP://<server>:389/cn=<user id>,ou=<ou value 1>,ou=<ou value 2>,ou=<ou value 3>,o=users";

DirectoryEntry oDirectoryEntry = new DirectoryEntry(ldapurl);
oDirectoryEntry.Username = <user id>;
oDirectoryEntry.Password = <password>;

// I have tried a few different Authentication Types 
oDirectoryEntry.AuthenticationType = AuthenticationTypes.FastBind;

DirectorySearcher oDirectorySearcher = new DirectorySearcher(oDirectoryEntry); 
oDirectorySearcher.PropertiesToLoad.Add("groupMembership");

// This works
SearchResult oSearchResult = oDirectorySearcher.FindOne();

// This is where it throws the error
string sType = oDirectoryEntry.Properties["groupMembership"].Value.ToString();

有谁知道我在哪里错了?同样,它在安装了.Net 3.5和.Net 4.5 SP1的Windows 2003,Windows 2008和Windows 7上运行良好。它似乎只是Windows 2012的一个问题。

0 个答案:

没有答案