下面是一个使用Python的示例代码,用于查询Active Directory中的AD组和AD用户。
import ldap
# 连接到Active Directory
ldap.set_option(ldap.OPT_REFERRALS, 0)
ldap.set_option(ldap.OPT_PROTOCOL_VERSION, 3)
conn = ldap.initialize("ldap://your_domain_controller:389")
conn.simple_bind_s("your_username@your_domain", "your_password")
# 查询AD组
base_dn = "dc=your_domain,dc=com"
filter_str = "(objectClass=group)"
attributes = ["cn"]
result = conn.search_s(base_dn, ldap.SCOPE_SUBTREE, filter_str, attributes)
groups = [entry[1]["cn"][0].decode("utf-8") for entry in result]
print("AD组:", groups)
# 查询AD用户
filter_str = "(objectClass=user)"
attributes = ["sAMAccountName"]
result = conn.search_s(base_dn, ldap.SCOPE_SUBTREE, filter_str, attributes)
users = [entry[1]["sAMAccountName"][0].decode("utf-8") for entry in result]
print("AD用户:", users)
# 关闭连接
conn.unbind()
请根据你的实际环境修改以下内容:
your_domain_controller
:你的域控制器的主机名或IP地址。your_domain
:你的域名。your_username@your_domain
:用于连接到AD的用户名和域。your_password
:用于连接到AD的密码。该代码使用Python的ldap模块来完成AD查询。首先,通过ldap.initialize()
方法初始化连接,并使用simple_bind_s()
方法进行身份验证。然后,使用conn.search_s()
方法执行AD查询,其中包括指定的基本DN、过滤器字符串和要返回的属性列表。最后,通过解析查询结果,提取AD组和AD用户的信息。
注意:使用此代码需要安装python-ldap
模块。你可以使用pip install python-ldap
命令来安装它。