2014年4月17日 星期四

AD 大量建置帳號

摘錄自http://www.dotblogs.com.tw/kaoht/archive/2011/11/27/59633.aspx

導入AD的第二步

建立公司使用者帳號
公司目前有900左右員工,使用電腦人數約310位左右
我自行開立帳號密碼一個約5分鐘那310位就要我將近26小時間建立帳號,這樣我應該甚麼事情都不用做了
目前MS公司有5種建立大量帳號方式,我採用CSVDE方式建立.
下列人員範例

objectClass,sAMAccountName,dn
user,Petergr," CN=Peter Graham,OU=Newport,DC=cp,dc=com"
user,Janiebo," CN=Janie Bourne,OU=Newport,DC=cp,dc=com"
user,Edgardu," CN=Edgar Dunn,OU=Newport,DC=cp,dc=com"
user,Belindaha," CN=Belinda Hart,OU=Newport,DC=cp,dc=com"
user,Mayja," CN=May Jamieson,OU=Newport,DC=cp,dc=com"
user,Leroyot," CN=Leroy Ota,OU=Newport,DC=cp,dc=com"
 
將上列的檔案複製後建立adduser.csv檔案,放到AD主機上我放在c:\CSVDE\中
 
開啟命令提示字元
 
csvde.exe -i -f "c:\CSVDE\CSVDE_adduser.csv"
 
// 匯入後 intAccValue = 514  表示帳號無啟動
 
自動將上列帳號建立完成,但是建立帳號後,此帳號還是無法請用因為沒有密碼.
 
 //再將下面用記事本存成XXX.vbs 但OU要改
strContainer = "OU=CSVOU ,"  //"OU=XXXX, OU=ZZZZ,"
 
將下列檔案複製後變成AccountControl.vbs
 
Option Explicit
Dim objOU, objUser, objRootDSE
Dim strContainer, strLastUser, strDNSDomain, intCounter, intAccValue
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("DefaultNamingContext")
strContainer = "OU=CSVOU ,"
intAccValue = 544
strContainer = strContainer & strDNSDomain
set objOU =GetObject("LDAP://" & strContainer )
intCounter = 0
      For each objUser in objOU
          If objUser.class="user" then
          objUser.SetPassword "P@ssw0rd"
          objUser.SetInfo
          objUser.Put "userAccountControl", intAccValue
          objUser.SetInfo
          intCounter = intCounter +1
          strLastUser = objUser.Get ("name")
          End if
       next
WScript.Echo intCounter & " Users change pwd next logon.  Value " _
& intAccValue
WScript.Quit
' End of User Account example VBScript
 
放到AD主機上執行後所有人的密碼,都會此用"P@ssw0rd"為預設密碼
 
這樣我大量建立帳號號時間只花了10分鐘將所以帳號密碼設定完成.
 
以上參數請依自己公司狀況調整,請不要照抄使用.

沒有留言:

張貼留言