以下是一个使用Python编写的示例代码,用于从Active Directory(AD)获取名称和登录名列表:
import win32com.client
def get_ad_user_list():
# 创建AD连接
adsi = win32com.client.Dispatch("ADsNameSpaces")
ad_search = adsi.GetObject("", "LDAP:")
# 搜索AD用户
user_search = ad_search.OpenDSObject("LDAP://DC=example,DC=com", "", "", 1)
user_search.Filter = "(&(objectClass=user)(objectCategory=person))"
user_search.PropertiesToLoad = ["sAMAccountName", "displayName"]
# 获取用户属性
user_list = []
for user in user_search:
login_name = user.Properties["sAMAccountName"][0]
display_name = user.Properties["displayName"][0]
user_list.append({"Login Name": login_name, "Display Name": display_name})
return user_list
# 调用函数获取AD用户列表
ad_users = get_ad_user_list()
# 打印AD用户列表
for user in ad_users:
print("Login Name: ", user["Login Name"])
print("Display Name: ", user["Display Name"])
print("==============================")
请注意,此代码使用了win32com.client
模块,因此在运行之前,您需要确保已安装pywin32
库。您可以使用以下命令来安装它:
pip install pywin32
还请注意,代码中的LDAP://DC=example,DC=com
是示例AD域的LDAP连接字符串。您需要将其替换为您的实际AD域连接字符串。
代码将遍历AD中的用户,并从每个用户获取登录名(sAMAccountName)和显示名(displayName),然后将其添加到一个列表中。最后,它将打印出每个用户的登录名和显示名。