一、批量導入帳戶
步驟及原理:
1、先用Excel表格做一個簡單模版,將其保存爲.csv格式!
2、再用For命令結合dsadd 來完成批量創建用戶!
使用到的命令:(注:以下命令裏參數爲筆者做測試,別忘記修改!)
for /f "tokens=1,2,3,4,5 delims=," %a in (D:\USER1.csv) do dsadd user "cn=%c,ou=IT,dc=test,dc=com" -samid %d -upn %d -ln %a -fn %b -pwd %e -disabled yes -mustchpwd yes
以上命令簡介:
tokens=1,2,3,4,5 :表示有五個變量(參數爲表格內的5個參數,順序爲A/B/C/D/E 這5個參數下面會用到)
delims=, :表示分隔符爲“,”
%a in (c:\baidu.csv):表示變量從路徑“c:\baidu.csv”中取數據
dsadd :添加命令
cn=%c,ou=IT,dc=baidu,dc=com :表示所創建的用戶名與創建位置
-samid %d -upn %d:表示登錄名爲變量d
-ln %a:設置用戶姓爲變量a
-fn %b:設置用戶名爲變量b
-pwd %e:設置密碼爲變量e
-disabled yes :表示導入以後爲禁用狀態
-mustchpwd yes:表示下次登錄要修改密碼, 默認值: no。
開始創建用戶:
一、創建一個累似以下內容的表格
二、然後將其保存爲.Csv格式
三、在AD上創建一個OU(IT),然後運行CMD,鍵入以下命令並執行:
for /f "tokens=1,2,3,4,5 delims=," %a in (d:\USER1.csv) do dsadd user "cn=%c,ou=IT,dc=test,dc=com" -samid %d -upn %[email protected] -fn %b -ln %a -pwd %e -disabled no -mustchpwd yes
二、使用CSVDE導出帳戶
語法
Csvde [-i] [-f FileName] [-s ServerName] [-c String1 String2] [-v] [-j Path] [-t PortNumber] [-d BaseDN] [-r LDAPFilter] [-p Scope] [-l LDAPAttributeList] [-o LDAPAttributeList] [-g] [-m] [-n] [-k] [-a UserDistinguishedName Password] [-b UserName Domain Password]
參數
-i
指定導入模式。如果沒有指定,默認模式爲導出。
-f FileName
識別導入或導出文件名。
-s ServerName
指定域控制器執行導入或導出操作。
-c String1 String2
將所有 String1項替換爲 String2。從一個域將數據導入到另一個域以及導出域的可分辨名稱 (String1) 需要替換爲導入域的可分辨名稱 (String2) 時普遍使用該操作。
-v
設置 verbose 模式。
-j Path
設置日誌文件位置。默認路徑爲當前路徑。
-tPortNumber
指定輕型目錄訪問協議 (LDAP) 端口號。默認 LDAP 端口爲 389。全局編錄端口爲 3268。
-dBaseDN
爲數據導出設置搜索庫的可分辨名稱。
-rLDAPFilter
爲數據導出創建 LDAP 搜索篩選器。
-pScope
設置搜索範圍。搜索範圍選項爲 Base、OneLevel 或 SubTree。
-lLDAPAttributeList
設置返回至導出查詢結果中的屬性列表。屬性可由 LDAP 按任何順序返回,CSVDE 不嘗試進行任何列排序。如果省略該參數,則返回所有屬性。
-oLDAPAttributeList
設置要從導出查詢結果中省略的屬性列表。從 Active Directory 中導出對象然後將對象導入到另一符合 LDAP 的目錄中通常使用該方法。如果另一個目錄不支持屬性,您可以使用該選項從結果集中忽略屬性。
-g
忽略分頁搜索。
-m
忽略僅適用於 Active Directory 對象的屬性,如 ObjectGUID、objectSID、pwdLastSet 和 samAccountType 屬性。
-n
忽略二進制值導出。
-k
在導入操作期間忽略錯誤並繼續處理。以下是可忽略錯誤的完整列表:“對象已經存在”、“約束衝突”和“屬性或值已經存在”。
-aUserDistinguishedName Password
將該命令設置成使用提供的 UserDistinguishedName和 Password來運行。默認情況下,將使用當前登錄到網絡的用戶的憑據運行該命令。此操作對用戶名和密碼進行了簡單的 LDAP 綁定。
-bUserName Domain Password
將命令的運行方式設置爲 UsernameDomainPassword。默認情況下,將使用當前登錄到網絡的用戶的憑據運行該命令。此操作將 LDAP 與 NEGOTIATE 身份驗證方法安全地綁定在一起。
-?
顯示命令菜單。
備註
· 不能使用 csvde導入用戶密碼,因爲密碼必須通過加密通道發送。Csvde不支持安全套接字層 (SSL) 或加密 LDAP 通信。前面的密碼參考與運行 csvde命令的用戶的憑據相關。與用戶的設置密碼無關。
示例
使用 CSVDE 導出現有對象的列表相當簡單。
最簡單的用法是:
csvde –f ad.csv 將 Active Directory 對象導出到名爲 ad.csv 的文件。–f 開關表示後面爲輸出文件的名稱。
但是必須注意,上述的用法是很簡單,但是導出來的結果可能存在太多你不希望要的記錄和信息。
如果要實現更精確的導出記錄,可以使用 -d 和 -r 以及 -l 參數。
其中:-d 用來指定特定的搜索位置和範圍
-r 用來指定特定的搜索對象類型
-l 用來指定導出對象的具體屬性
如:
csvde -f users.csv -d "ou=IT,dc=test,dc=com" -r "(&(objectcategory=person)(objectclass=user))" -l DN,objectClass,description
注意:如果使用CSVDE導出的帳戶信息中存在中文,會存在亂碼的可能,可以加-U參數來解決。