如何在元组内的字典中查找元素?
How to find an element in a dict inside tuple?
我弄得有点乱,所以这是我第一次尝试从 Microsoft AD 中获取数据。我已经成功了,但现在我想将 AD 中的名称列表与我数据库中的列表进行比较。但我发现很难仅从输出中获取用户名,因此我可以比较这两个列表。所以我只想为 ad-group
'testuser'
、'testuser2'
中的所有用户获取数据,例如
来自ldap_result
的输出
('CN=testuser,OU=Users,OU=nnittest,DC=nnittest,DC=com', {'givenName': [b'testuser'], 'sAMAccountName': [b'testuser']})
('CN=testuser2,OU=Users,OU=nnittest,DC=nnittest,DC=com', {'givenName': [b'testuser2'], 'sAMAccountName': [b'testuser2']})
代码和连接
LDAP_SERVER = 'ldap://****'
BASE_DN = 'OU=test,dc=test,dc=com' #base dn to search in
LDAP_LOGIN = 'Admin'
LDAP_PASSWORD = '*****'
connect = ldap.initialize(LDAP_SERVER)
connect.set_option(ldap.OPT_REFERRALS, 0) # to search the object and all its descendants
connect.simple_bind_s(LDAP_LOGIN, LDAP_PASSWORD)
myfilter = "memberOf=CN=nn-aws-aurora-users,OU=Groups,OU=test,DC=test,DC=com"
attrs = ['sAMAccountName', 'givenname', 'sn', 'mail', 'description', 'telephonenumber', 'homephone', 'mobile']
ldap_result = connect.search_s(BASE_DN, ldap.SCOPE_SUBTREE, myfilter, attrs)
据我所知,结果是 元组 而 元组 的第二个元素是 字典。所以首先你应该用 ldap_result[1]
得到 tuple 的第二个元素,然后你应该访问 dict[=24 的 givenName
字段=].
因此,如果您将所有这些结合起来:
ldap_result[1]["givenName"]
将 return 用户列表。
我弄得有点乱,所以这是我第一次尝试从 Microsoft AD 中获取数据。我已经成功了,但现在我想将 AD 中的名称列表与我数据库中的列表进行比较。但我发现很难仅从输出中获取用户名,因此我可以比较这两个列表。所以我只想为 ad-group
'testuser'
、'testuser2'
中的所有用户获取数据,例如
来自ldap_result
的输出('CN=testuser,OU=Users,OU=nnittest,DC=nnittest,DC=com', {'givenName': [b'testuser'], 'sAMAccountName': [b'testuser']})
('CN=testuser2,OU=Users,OU=nnittest,DC=nnittest,DC=com', {'givenName': [b'testuser2'], 'sAMAccountName': [b'testuser2']})
代码和连接
LDAP_SERVER = 'ldap://****'
BASE_DN = 'OU=test,dc=test,dc=com' #base dn to search in
LDAP_LOGIN = 'Admin'
LDAP_PASSWORD = '*****'
connect = ldap.initialize(LDAP_SERVER)
connect.set_option(ldap.OPT_REFERRALS, 0) # to search the object and all its descendants
connect.simple_bind_s(LDAP_LOGIN, LDAP_PASSWORD)
myfilter = "memberOf=CN=nn-aws-aurora-users,OU=Groups,OU=test,DC=test,DC=com"
attrs = ['sAMAccountName', 'givenname', 'sn', 'mail', 'description', 'telephonenumber', 'homephone', 'mobile']
ldap_result = connect.search_s(BASE_DN, ldap.SCOPE_SUBTREE, myfilter, attrs)
据我所知,结果是 元组 而 元组 的第二个元素是 字典。所以首先你应该用 ldap_result[1]
得到 tuple 的第二个元素,然后你应该访问 dict[=24 的 givenName
字段=].
因此,如果您将所有这些结合起来:
ldap_result[1]["givenName"]
将 return 用户列表。