From 92ee33a291dcb95d22d8f74aca2e0ad507ed6a1e Mon Sep 17 00:00:00 2001 From: Mikhail Grebenkin Date: Mon, 19 Nov 2018 21:17:57 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BC=D0=B5=D0=BB=D0=BA=D0=B8=D0=B5=20=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F,=20=D1=82?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=B8=D1=80=D1=83=D1=8E.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- UserAd_class.py | 3 --- importer.py | 23 +++++++++++++++++------ 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/UserAd_class.py b/UserAd_class.py index 93e0517..9457f61 100644 --- a/UserAd_class.py +++ b/UserAd_class.py @@ -14,7 +14,6 @@ import time base = "CN=Users,DC=techgrow,DC=local" # можно не заморачиваться с ОУ и тогда base = "CN=Users,DC=myDom,DC=lan" domainName = 'techgrow.local' - class UserAd: def __init__(self, sam, base, domainName, usrName, usrPass=''): self.sam = sam @@ -23,8 +22,6 @@ class UserAd: self.usrName = usrName self.usrPass = usrPass self.exists = self.chek_if_exists() - if not self.exists: - self.add() self.memberOf = self.check_memberof() def chek_if_exists(self): diff --git a/importer.py b/importer.py index 30c7126..18ea544 100644 --- a/importer.py +++ b/importer.py @@ -11,6 +11,7 @@ import samba.param # import base64 # import binascii from UserAd_class import UserAd +import zayavka_reader as z_reader base = "CN=Users,DC=techgrow,DC=local" # можно не заморачиваться с ОУ и тогда base = "CN=Users,DC=myDom,DC=lan" domainName = 'techgrow.local' @@ -38,12 +39,22 @@ def main(): lp = samba.param.LoadParm() lp.load(samba.param.default_path()) # или lp.load("/etc/samba/smb.conf") sam = SamDB(lp=lp, session_info=system_session()) - print(users_make_ad(sam, base)) - test_usr = UserAd(sam, base, domainName, 'tst', "secret34daD") - print test_usr.memberOf - err = test_usr.set_passwd() - if err: - print err + z_users = z_reader.users_make_zayavka() + for z_user in z_users: + ad_user = UserAd(sam, base, domainName, z_users[z_user]['samAccountName'], z_users[z_user]['usrPass']) + if z_users[z_user]['toRemove']: # удаляем, если такой есть + if ad_user.exists: + ad_user.remove() + continue + if z_users[z_user]['pwChange']: # обновляем пароль + ad_user.set_passwd() + + if z_users[z_user]['enabled']: # инаблим или дисаблим + ad_user.enable() + else: + ad_user.disable() + for group in z_users[z_user]['memberOf']: + ad_user.add_in_group(group) if __name__ == '__main__':