修改ad使用者屬性(例如**號碼、描述等)是ad管理員一項常見的基本工作,簡單卻十分繁瑣,特別是在對大批量使用者屬性進行修改的情況下,工作量大且又是重複性的工作,若單個依次進行修改,效率低下,往往為人們所抱怨。有沒有一種方便快捷、切能批量進行ad使用者屬性修改的方法呢?對此,本文作以下分享。(本文以批量修改ad使用者**號碼屬性為例來進行說明)
一、 建立修改ou=temp,dc=contoso,dc=com使用者**號碼執行指令碼
新建.txt文件,輸入下述內容,並將此文件另存為chang.vbs檔案。
dim objinfo二、 建立ad使用者新屬性文件const ads_scope_subtree = 2
set fso = createobject("scripting.filesystemobject")
set objfile = fso.opentextfile("userinfo.csv")
set objconnection = createobject("adodb.connection")
set objcommand = createobject("adodb.command")
objconnection.provider = "adsdsoobject"
objconnection.open "active directory provider"
set objcommand.activeconnection = objconnection
objcommand.properties("page size") = 1000
objcommand.properties("searchscope") = ads_scope_subtree
doon error resume next
objinfo = split(objfile.readline,",")
strdn = finduserdn(objinfo(0))
set objuser = getobject("ldap://" & strdn)
objuser.put "mobile",objinfo(1)
objuser.setinfo
if err.number <> 0 then
wscript.echo "error:" & objinfo(0) & "," & objinfo(1)
end if
strdn = ""
loop until objfile.atendofstream = true
objfile.close
wscript.echo "done!"
function finduserdn(struserdisplayname)
objcommand.commandtext = _
"select distinguishedname from 'ldap://ou=test,dc=contoso,dc=com' where objectcategory='user' " & _
"and displayname = '" & struserdisplayname & "'"
set objrecordset = objcommand.execute
objrecordset.movefirst
do until objrecordset.eof
arrdn = objrecordset.fields("distinguishedname").value
if isarray(arrdn) = true then
wscript.echo struserdisplayname
finduserdn = arrdn(0)
else
finduserdn = arrdn
end if
objrecordset.movenext
loop
if err.number <> 0 then
wscript.echo err.mobile & ":" & struserdisplayname
err.clear
end if
end function
建立名為userinfo.csv檔案,檔案內容根據實際需要,輸入顯示名稱和使用者的新**號碼,如下圖所示:
三、 執行指令碼
將chang.vbs指令碼和userinfo.csv放到同一目錄,雙擊chang.vbs指令碼。待chang.vbs指令碼執行成功即可實現ou=temp,dc=contoso,dc=com下使用者it001、it002、it003、it004、it005使用者號碼的更改,如下圖所示:
1、修改使用者屬性專案,可對以下指令碼內容進行調整:
set objuser = getobject("ldap://" & strdn)2、針對不同ou下的使用者可對以下指令碼內容進行objuser.put "mobile",objinfo(1)
objuser.setinfo
'ldap://ou=test,dc=contoso,dc=com' where objectcategory='user' " & _
"and displayname = '" & struserdisplayname & "'"
批量建立AD使用者
批量建立ad使用者 前幾天我發表了 powershell 管理active directory常用命令 這個部落格,裡面有關於建立使用者的powershell,但是如果是單使用者的話,用powershell就顯得不是那麼的高效了,所以我們現在來做一下批量的形式 環境 作業系統 windows ser...
批量建立AD使用者
批量建立ad使用者 前幾天我發表了 powershell 管理active directory常用命令 這個部落格,裡面有關於建立使用者的powershell,但是如果是單使用者的話,用powershell就顯得不是那麼的高效了,所以我們現在來做一下批量的形式 環境 作業系統 windows ser...
Web頁面實現AD使用者修改密碼
1.部署了一台server2003,將伺服器c windows system32 inetsrv iisadmpwd 拷貝了出來 2.然後部署一台server2008,安裝了ad服務。將03拷貝出來的資料夾複製到了c windows syswow64 inetsrv檔案下 3.在server2008...