|
|
@ -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__': |
|
|
|