active-directory - 如何使用远程 LDAP 客户端确定 Active Directory 服务器的*版本*?

标签 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 服务器,它不返回任何内容。

最佳答案

什么版本?

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

-吉姆

关于active-directory - 如何使用远程 LDAP 客户端确定 Active Directory 服务器的*版本*?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22844404/

相关文章:

eclipse - 通过 LDAP 用户使用 Eclipse 和 Netbeans 插件访问 Git 存储库

javascript - 如何使用 ActiveDirectory 2 返回 AD 组的成员?

jboss - 使用 JBoss 7 进行 LDAP 身份验证

ssl - 具有 OpenLDAP 和 SSL 的 WSO2 身份服务器

c# - 将 StartTLS 与 System.DirectoryServices 中的 LDAP 结合使用

apache - Redmine.pm 不适用于 Authen::Simple::LDAP

c# - 通过 ASP.NET 访问 Active Directory 记录

javascript - GetUserProfileByName 属性不一致

sql - Powershell 和 SQL : data from sql query to an array

c# - 通过电子邮件地址在 ActiveDirectory 中查找用户