批量修改AD用戶屬性python腳本

批量修改AD用戶屬性python腳本

主要是用python調用dsquery查詢到dn,再用python調用dsmod進行dn的屬性修改。

namelist.txt格式如下,部門的字段其實可以換成相應想修改的AD屬性,比如AD中title是表示職位,想要修改工號-職務,就將dsmod語句改成如下(具體dsmod user的參數查 dsmod user /?可以看到。)

"dsmod user " + dn + " -title " + dep

|---------------|

|sAMAccount,dep |

|工號,部門      |  

|---------------|

代碼如下,需要以管理員權限允許才能執行dsmod:

#coding=utf-8
import os

def getdn(GongHao):
    z = os.popen("dsquery user -samid "+ GongHao).read()
    return z 

def CUD(dn,dep):
    'change users depatment'
    try:
        z = os.popen("dsmod user " + dn + " -dept " + dep).read()
        return z
    except:print 'can't find user '

dicfile = open('namelist.txt','r')
dic1 = {}
dic2 = {}
#make dic1,dic1 format from text file
for line in dicfile:
    a = line.strip().split(',')
    dic1[a[0]] =  a[1]
dicfile.close()

#print 'dic1',dic1
#make dic2, dic2 is {dn:depatement}
for k,v in dic1.iteritems():
    print k,v
    dic2[getdn(k)] = v


print '*'*10,dic2

for i in dic2:
#    print 'i=%s' %i,'dic2[i]=%s' %dic2[i]
    if dn=='':pass
    else:CUD(i.strip(),dic2[i])


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章