天天看點

AD域導入導出使用者

作為域管理者,有時我們需要批量地向AD域中添加使用者帳戶,這些使用者帳戶既有一些相同的屬性,又有一些不同屬性。如果在圖形界面逐個添加、設定,那麼需要的時間和人力會超出能夠承受範圍。一般來說,如果不超過10個,我們可利用AD使用者帳戶複制來實作。如果再多的話,就應該考慮使用使用指令行工具,實作批量導入導出對象。微軟預設提供了兩個批量導入導出工具,分别是CSVDE(CSV目錄交換)和LDIFDE(LDAP資料互換格式目錄交換)。

  具體選擇上述哪個工具取決于需要完成的任務。如果需要建立對象,那麼既可以使用CSVDE,也可以使用LDIFDE,如果需要修改或删除對象,則必須使用LDIFDE。本文不涉及使用CSVDE導入對象。而是換另一種導入導出AD帳戶思路:使用CSVDE工具導出AD帳戶到CSV格式的檔案中,再使用For語句讀取該檔案,使用DSADD指令進行批量添加。

  具體步驟:

  一:使用CSVDE導出帳戶

  使用 CSVDE 導出現有對象的清單相當簡單。

  最簡單的用法是:

   csvde –f ad.csv  将 Active Directory 對象導出到名為 ad.csv 的檔案。–f 開關表示後面為輸出檔案的名稱。

   但是必須注意,上述的用法是很簡單,但是導出來的結果可能存在太多你不希望要的記錄和資訊。

   如果要實作更精确的導出記錄,可以使用 -d 和 -r 以及 -l 參數。

   其中:-d 用來指定特定的搜尋位置和範圍

         -r 用來指定特定的搜尋對象類型

         -l 用來指定導出對象的具體屬性

   如:

     csvde –f users.csv –d "ou=Users,dc=contoso,dc=com" –r       "(&(objectcategory=person)(objectclass=user))" –l DN,objectClass,description

   注意:如果使用CSVDE導出的帳戶資訊中存在中文,會存在亂碼的可能,可以加-U參數來解決。

  二:批量導入帳戶

   首先需要明确的概念是,要實作批量導入帳戶,必須要存在一個已包括多個帳戶資訊的檔案。沒有檔案,無法實作批量導入。

   假設之前已經通過CSVDE工具導出過這樣的一個檔案Users.csv,且檔案内容如下

   姓 名   全名   登入名      密碼

   張,三,  張三,  three.zhang,pass01

   李,四,  李四,  four.li,    passo2

   王,五,  王五,  five.wang,  pass03

   劉,六,  劉六,  six.liu,    passo4

   趙,七,  趙七,  seven.zhao, pass05

   有了上述格式的檔案後,我們就可以使用For指令來讀取檔案中的每條資訊并利用DSADD實作帳号添加。

   具體語句如下:

   C:\>for /f "tokens=1,2,3,4,5 delims=," %a in (uses.csv) do dsadd user "cn=%c,ou=

       newusers,dc=contoso,dc=com" -samid %d -upn %[email protected] -fn

       %b -ln %a -pwd %e -disabled no

   作用:将上述檔案中五個帳戶添加到contoso.com域,名為newusers的OU中,且預設已啟用使用者。

         其中:-samid為登入名

               -upn為UPN登入名

               -fn為 名

               -ln為 姓

               -pwd為 密碼

   簡單解釋一下for語句

       /f 表示從檔案中讀取資訊

       tokens表示每行使用的記号,對應于後面的變量具體的值

       delims表示每個字段之間的分隔符

本文轉自Devin 51CTO部落格,原文連結:http://blog.51cto.com/devingeng/1355879

繼續閱讀