2017-10-22 226 views
0

我想写一个python脚本来验证用户名是否存在于特定的域中。查询AD中用户使用python

To query : 
      username -- > anandabhis 
      domain name --> example.com 
Output : Successfully verified . 

为此,我使用python-ldap模块连接到LDAP服务器。但即使阅读了大量文件,我仍然无法继续。

import ldap 
def test_login(self): 
     domain = 'EXAMPLE' 
     server = 'ldap-001.example.com' 
     admin_username = 'admin' 
     admin_password = 'secret-password' 
     connection = ldap.initialize('ldap://{0}'.format(server)) 
     connection.protocol_version = 3 
     connection.set_option(ldap.OPT_REFERRALS, 0) 
     connection.simple_bind_s('{0}\{1}'.format(domain, admin_username), admin_password) 
     search_username = 'anandabhis' 
+0

您必须立即进行搜索。 –

+0

@KlausD。我不知道如何搜索。你可以帮助我使用哪个功能吗? – user46663

+0

[如何查找用户是其成员的所有组的可能的副本? (LDAP)](https://stackoverflow.com/questions/40225230/how-to-find-all-the-groups-the-user-is-a-member-ldap) – thatrockbottomprogrammer

回答

0

简单搜索用户的sAMAccountName应允许您获取用户的属性。

user_filter = '(sAMAccountName={})'.format(search_username) 
base_dn = 'DC={},DC=com'.format(domain) 
result = connection.search_s(base_dn, ldap.SCOPE_SUBTREE, user_filter) 
print result