我正在编写一些针对Active Directory的c#并试图无休止地让这个工作无效。下面的代码工作,并遵循它的代码不:c#针对通过LDAP的Active Directory
下面的代码使用“WinNT://”+ Environment.MachineName +“,计算机”进行连接并工作正常。
DirectoryEntry localMachine = new DirectoryEntry
("WinNT://" + Environment.MachineName + ",Computer");
DirectoryEntry admGroup = localMachine.Children.Find
("Administrators", "group");
object members = admGroup.Invoke("members", null);
foreach (object groupMember in (IEnumerable)members)
{
DirectoryEntry member = new DirectoryEntry(groupMember);
output.RenderBeginTag("p");
output.Write(member.Name.ToString());
output.RenderBeginTag("p");
}
base.Render(output);
我现在试图改变行:
"WinNT://" + Environment.MachineName + ",Computer"
到
"LDAP://MyDomainControllerName"
但似乎不管我在的地方值“MyDomainControllerName”它的价值是什么不会工作。
要获得'MyDomainControllerName'的值,我右键单击MyComputer,并按照其他地方的建议复制计算机名称的值,但这不起作用。
当我尝试使用LDAP:上面这导致以下错误// RootDSE的选项:
位于路径LDAP的Active Directory对象:// RootDSE的不是一个容器
这是您提到的成员方法的问题吗?
我不完全理解你的问题根据你的代码示例。您是否试图使用LDAP来枚举本地组的成员身份?如果是这样,那就行不通了。 – barneytron 2009-01-23 03:45:24