如何使用远程LDAP客户端确定Active Directory服务器的* version *?

时间:2014-04-03 17:07:27

标签: active-directory ldap

我想以编程方式区分LDAP上不同类型的服务,以便适应他们的怪癖。

我是否可以依赖特定的实体/记录/字段来区分Windows Server 2003 Active Directory服务器与Windows Server 2008 AD服务器和Windows Server 2012 AD?

注意:

question about using javax.naming with AD中出于类似目的,查询

ldapsearch -h HOST -b " " -s base objectclass=*
建议

。它至少为我测试的一台AD服务器返回任何内容。

1 个答案:

答案 0 :(得分:0)

哪个版本的什么?

Microsoft Active Directory不在ROOTDSE中提供venderVersion。

您可以将“forestFunctionality”和/或“domainFunctionality”作为整数返回。

要查找所有DC及其版本,请使用以下查询:

(&(&(&(&(samAccountType=805306369)(primaryGroupId=516))(objectCategory=computer)(operatingSystem=*))))

哦,对于Microsoft Active Directory,您需要经过身份验证的连接才能读取rootDSE。

我们在此处详细讨论此问题:http://ldapwiki.willeke.com/wiki/Determine%20LDAP%20Server%20Vendor#section-Determine+LDAP+Server+Vendor-ActiveDirectory

-Jim