反对ActiveDirectoryoverLDAPc#反对ActiveDirectoryoverLDAP我正在写一些针对ActiveDirectory的c#并且一直在无休止地尝试让它工作无济于事。以下代码有效,其背后的代码无效:下面的代码使用“WinNT://”+Environment.MachineName+“,Computer”建立连接并且工作正常。DirectoryEntrylocalMachine=newDirectoryEntry("WinNT://"+Environment.MachineName+",Computer");DirectoryEntryadmGroup=localMachine.Children.Find("Administrators","group");对象成员=admGroup.Invoke("成员",null);foreach(objectgroupMemberin(IEnumerable)members){DirectoryEntrymember=newDirectoryEntry(groupMember);output.RenderBeginTag("p");output.Write(member.Name.ToString());output.RenderBeginTag("p");}base.Render(输出);我现在正在尝试更改此行:“WinNT://”+Environment.MachineName+“,Computer”到“LDAP://MyDomainControllerName”但似乎无论我尝试什么值而不是值“MyDomainControllerName”都没有它会起作用。为了获得“MyDomainControllerName”值,我右键单击MyComputer并按照其他地方的建议复制了计算机名称值,但这没有用。当我尝试使用上面的LDAP://RootDSE选项时,会导致以下错误:路径LDAP://RootDSE处的ActiveDirectory对象不是容器这是您提到的成员方法的问题吗?使用.NETFramework连接AD时,可以使用“无服务器”绑定,也可以每次指定一个服务器使用(服务器绑定)。这是同时使用两者的示例://serverlessDirectoryEntryrootConfig=newDirectoryEntry("LDAP://dc=domainname,dc=com");//服务器绑定DirectoryEntryrootEntry=newDirectoryEntry("LDAP://domainControllerName/dc=domainName,dc=com");我认为您误入歧途的地方是您忘记在域名中包含最终的FQDN。希望这可以帮助。是的-RootDSE不是容器-但它包含许多您可以查询的有趣属性-例如域控制器的名称。您可以使用以下代码检查这些:DirectoryEntrydeRoot=newDirectoryEntry("LDAP://RootDSE");if(deRoot!=null){Console.WriteLine("默认命名上下文:"+deRoot.Properties["defaultNamingContext"].Value);Console.WriteLine("服务器名称:"+deRoot.Properties["serverName"].Value);Console.WriteLine("DNS主机名:"+deRoot.Properties["dnsHostName"].Value);控制台.WriteLine();Console.WriteLine("附加属性:");foreach(在deRoot.Properties.PropertyNames中的字符串propName)Console.Write(propName+",");控制台.WriteLine();或者为自己省去麻烦并在C#源代码中获取我的“BeavertailADSI浏览器”——详细说明如何连接到RootDSE及其提供的内容。您需要将授权的用户名和密码传递给它。尝试设置:DirectoryEntry.Username和DirectoryEntry.Password您是否尝试过指定端口号和其他参数?我们的ldap字符串如下所示:LDAP://myserver:1003/cn=admin@xyz.com|1,ou=members,o=mdhfw2看起来您需要获取LDAP连接信息。您可以调用LDAP://RootDSE以获取ASP.NETWiki中显示的信息。请记住,LDAP对象不具有与WINNT对象相同的成员方法和属性,因此不要指望group.Invoke("members")和其他函数执行完全相同的操作。您还应该阅读DirectoryServiceswithLDAP文档。以上就是C#学习教程:c#分享了ActiveDirectoryonLDAP的所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。涉及侵权,请点击维权联系管理员删除。如需转载请注明出处:
