簡體   English   中英

使用ldap3 Python獲取Active Directory中的用戶狀態(禁用或活動)

[英]Get user status (disabled or active) in Active Directory with ldap3 Python

我正在獲取Active Directory中所有用戶的列表,我需要檢查其狀態-用戶是處於活動狀態還是處於禁用狀態。 我希望userAccountControl應該返回用戶狀態,但是對於所有用戶,我只能得到512,但一個用戶(返回66048)卻與用戶狀態無關(據我所知)。

from ldap3 import Server, Connection

serverName = 'LDAP://server'
domainName = 'name'
userName = 'superuser'
password = 'password'
base = 'longString'

server = Server(serverName)
conn = Connection(server, read_only=True, user='{0}\\{1}'.format(domainName, userName), password=password, auto_bind=True)

conn.search(base, '(objectclass=person)', attributes=['displayName', 'mail', 'userAccountControl','sAMAccountName'])

for i in conn.entries:
    print 'USER = {0} : {1} : {2}'.format(i.sAMAccountName.values[0], i.displayName.values[0], i.userAccountControl.values[0])

用戶= ABC:約翰史密斯:512用戶=默認:薩拉·康納:514用戶= GHI:托馬斯·安德森:66048

這是獲取用戶狀態的正確方法嗎? 還有其他方法可以通過帶有UI的某些應用程序檢查AD用戶狀態嗎?

根據userAccountControl標志

512-普通帳戶(512),

514-停用帳戶(2 + 512),

66048-普通帳戶+不要過期密碼(65536 + 512)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM