批量建立導入導出域用戶

 

批量添加域用戶安全

1、 AD用戶賬戶複製架構

1、在「AD域和計算機」中建一個做爲樣板的用戶,如S1 編輯器

2、設置相關須要的選項,如所屬的用戶組、登陸時間、用戶下次登陸時需更改密碼等。ide

3、在S1/右鍵/複製,輸入名字和口令。工具

說明:ui

1、 只有AD域用戶賬戶才能夠複製,對於本地用戶賬戶無此功能。加密

2、 賬戶複製可將在樣板用戶賬戶設置的大多數屬性帶過來。具體以下: spa

 

2、比較csvdeldifde.net

csvde: 逗號分隔符目錄交換工具命令行

容許您使用 CSV 源文件將新對象導入到 Active Directory 中;此外,該工具還提供了將現有對象導出到 CSV 文件的功能。CSVDE 不能用於修改現有對象;在導入模式下使用此工具時,您只能建立全新的對象。

使用 CSVDE 導出現有對象的列表至關簡單。將 Active Directory 對象導出到名爲 ad.csv 的文件,方法以下:

csvde –f ad.csv

–f 開關表示後面爲輸出文件的名稱。可是您必須注意,根據環境的不一樣,此基本語法可能會生成不實用的大型輸出文件。要將此工具限制爲僅導出特定組織單位 (OU) 中的對象,能夠將語句修改成以下形式:

csvde –f UsersOU.csv –d u=Users,dc=contoso,dc=com

進一步假定您只對將用戶對象導出到 CSV 文件感興趣。若是是那樣的話,您能夠添加 –r 開關和 –l 開關,前者容許指定輕型目錄訪問協議 (LDAP) 篩選器進行搜索,後者能夠限制導出的屬性的數量(請注意如下全部內容位於一行):

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

經過 –i 開關,您能夠將對象從源 CSV 文件導入到 Active Directory。可是,使用 CSVDE 建立用戶對象存在一個關鍵限制:不能使用 CSVDE 設置用戶密碼。所以,應該避免使用 CSVDE 建立用戶對象。

ldifde:輕型目錄訪問協議,互換格式目錄交換

CSVDE 相比,此工具更強大,更靈活。除了能夠建立新對象外,LDIFDE 還能夠修改和刪除現有對象,甚至擴展 Active Directory 架構。LDIFDE 雖然具備靈活性,但爲了實現這種靈活性卻必需要使用擴展名爲 .ldf LDIF 文件做爲輸出文件,這種文件與簡單的 CSV 文件相比,格式更復雜。(只需少許操做就能夠配置好用戶密碼,我稍後將對此進行介紹。)

咱們從一個簡單的示例開始,將某個 OU 中的用戶導出到 LDF 文件中(請注意如下全部內容位於一行):

ldifde -f users.ldf -s DC1.contoso.com -d "ou=UsersOU,dc=contoso,dc=com"
      
–r "(&(objectcategory=person)(objectclass=user))"

與大多數命令行工具同樣,您能夠經過運行 LDIFDE /? 命令找到 LDIFDE 開關的完整說明。圖 1 介紹了我在此使用過的開關。(注意 CSVDE LDIFDE 命令的開關其實是相同的。)

LDIFDE 的真正功能在於建立和操做對象。然而,進行此操做以前,您首先須要建立一個輸入文件。如下語句建立兩個名爲 afuller rking 的用戶賬戶;要建立該輸入文件,請在記事本(或者您喜歡的純文本編輯器)中輸入如下文本,而後將其保存爲 NewUsers.ldf

dn: CN=afuller, U=UsersOU, DC=contoso, DC=com
changetype: add
cn: afuller
objectClass: user
samAccountName: afuller
dn: CN=rking, U=UsersOU, DC=contoso, DC=com
changetype: add
cn: rking
objectClass: user
samAccountName: rking

建立完該文件後,請運行如下命令:

ldifde –i –f NewUsers.ldf –s DC1.contoso.com

您可能會猜到,此處使用的惟一新開關 -i 代表這是一項導入操做而非導出操做。若是要修改或刪除現有對象,沒必要更改 LDIFDE 命令的語法;相反,您應該修改 LDF 文件中的內容。要更改用戶賬戶的說明字段,請建立名爲 ModifyUsers.ldf 的文本文件。

您能夠經過運行與以前相同的 LDIFDE 命令語法,在 -f 開關後面指定新的 LDF 文件名來導入更改。用於刪除對象的 LDF 格式更簡單;要刪除一直使用的用戶,請建立一個名爲 DeleteUsers.ldf 的文件,而後輸入如下內容:

dn: CN=afuller U=UsersOU, DC=contoso, DC=com
changetype: delete

 

dn: CN=rking, U=UsersOU, DC=contoso, DC=com
changetype: delete

注意,與 CSVDE 不一樣,LDIFDE 可以配置用戶密碼。不過,在爲用戶賬戶配置 unicodePWD 屬性以前,必須在域控制器上配置安全套接字層/傳輸層安全性 (SSL/TLS) 加密。

並且,LDIFDE 可以建立和修改任何類型的 Active Directory 對象,並不只限於用戶賬戶。例如,下面的 LDF 文件可在 contoso.com 林的架構中建立名爲 EmployeeID-example 的自定義架構擴展:

dn: cn=EmployeeID-example,cn=Schema,
cn=Configuration,dc=contoso,dc=com
changetype: add
adminDisplayName: EmployeeID-Example
attributeID: 1.2.3.4.5.6.6.6.7
attributeSyntax: 2.5.5.6
cn: Employee-ID
instanceType: 4
isSingleValued: True
lDAPDisplayName: employeeID-example

因爲 LDIFDE 文件使用工業標準 LDAP 文件格式,所以須要修改 Active Directory 架構的第三方應用程序會常常提供 LDF 文件,您能夠在將這些更改應用於生產環境以前使用這些文件檢查和批准更改。

3、以csvde.exe爲例說明:域用戶賬戶的導出/導入

  操做步驟以下:

1、 在「AD域和計算機」中建一個用戶,如S1

2、 設置相關須要的選項,如所屬的用戶組、登陸時間、用戶下次登陸時需更改密碼等。

3、 在DC上,開始/運行:cmd

4、 鍵入:csvde f demo.csv

說明:(1)不要試圖將這個文件導回,來驗證是否好使。由於這個文件中的好多字段在導入時是不容許用的,如:ObjectGUIDobjectSIDpwdLastSet samAccountType 等屬性。咱們導出這個文件目的只是爲了查看相應的字段名是什麼,其值應該怎麼寫。

  (2)可經過-d r參數指定導出範圍和對象類型。例如:

   -d ou=test,dc=mcse,dc=com」 或 -d cn=users,dc=mcse,dc=com

   -r < Objectclass=user>

5、 以上面的文件爲參考基礎,建立本身的my.csv,並利用複製、粘貼、修改獲得多條記錄(注意大小寫)。例如:

DN,objectClass,sAMAccountName,userAccountControl,userPrincipalName

"CN=s1,OU=test,DC=mcse,DC=com",user,S1,512,S1@mcse.com

"CN=s2,OU=test,DC=mcse,DC=com",user,S2,512,S2@mcse.com

………………

其它可用字段,我試了一下,見下表(不全):

說明:有些標籤日常極少用到,就沒有試。若是須要能夠本身導出來看一下,像一些複雜的字段,如:userParameters,仍是用粘貼吧。
6
、導入到AD,鍵入 csvde –i –f my.csv –j c:\

說明:-j用於設置日誌文件位置,默認爲當前路徑。此選項可幫助用戶在導入不成功時排錯。
  有一點你們必須明確的是:咱們在這裏作AD域用戶賬戶複製、作AD域用戶賬戶的導出/導入,並不能代替「AD備份和恢復。咱們只是在批量建立用戶賬號,賬號的SID都是從新生成的,權利權限都得從新設才行。(固然咱們能夠把導入的用戶,經過memberof字段設到一些用戶組中去,使它有權利權限。但這與利用「AD備份和恢復到原狀,徹底是兩回事)。 做爲網管,有時咱們須要批量地向AD域中添加用戶賬戶,這些用戶賬戶既有一些相同的屬性,又有一些不一樣屬性。若是逐個添加、設置的話,十分地麻煩。通常來講,若是不超過10個,咱們可利用AD用戶賬戶複製來實現。若是再多的話,咱們就應該考慮使用csvde.exeldifde.exe來減輕咱們的工做量了。 
 

除了用於執行批量導入和導出操做的工具外,Windows Server 2003 還包括一個內置工具集,您可使用它來建立、刪除和修改各類 Active Directory 對象,還能夠對符合特定條件的對象執行查詢。(請注意 Windows 2000 Active Directory 並不支持這些工具,如 dsadddsrmdsget dsquery 等。)
dsadd

Dsadd 用於在特定的目錄分區上建立 Active Directory 對象類的實例。這些類包括用戶、計算機、聯繫人、組、組織單位和配額。Dsadd 具有一個由下列內容組成的通用語法:

dsadd <ObjectType> <ObjectDistinguishedName> attributes

請注意,您建立的每一個對象類型都有一組特定的開關,它們與該類型的屬性相對應。如下命令建立一個填充了各類屬性的用戶對象(請注意如下全部內容位於一行):

dsadd user cn=afuller,ou=IT,dc=contoso,dc=com
–samID afuller –fn Andrew –ln Fuller –pwd *
-memberOf cn=IT,ou=Groups,dc=contoso,dc=com "cn=Help Desk,ou=Groups,
dc=contoso,dc=com"
–desc "Marketing Director"

–memberOf 開關要求指定應添加該用戶的每一個組的完整可分辨名稱 (DN);若是要將用戶添加到多個組,您能夠添加多個 DN 並用空格分隔開。

任何元素若是包含空格(如 Help Desk 組的 DN),則該元素應該括在雙引號中。若是某個元素含有反斜槓(如稱爲 IT\EMEA OU),則必須輸入兩次反斜槓:IT\\EMEA。(這些要求適用於全部的 ds* 工具。)

若是使用 -pwd * 開關,則系統將提示您在命令行輸入用戶密碼。您能夠在該命令中指定密碼 (-pwd P@ssword1),可是這樣會在屏幕上或該命令嵌入到的任何文本或腳本文件中以純文本形式顯示該密碼。

一樣,您可使用下列兩個命令建立組對象和 OU

dsadd computer cn=WKS1,ou=Workstations,dc=contoso,dc=com
dsadd ou "ou=Training OU,dc=contoso,dc=com"

Dsmod
Dsmod
用於修改現有對象,它的使用方法與 dsadd 很是類似,您須要根據要修改的對象的類型使用不一樣的子菜單和語法。如下 dsmod 語句會更改用戶的密碼並修改該用戶的賬戶,所以在下次登陸時系統會提示該用戶更改成新的密碼:

dsmod user "cn=afuller,ou=IT,dc=contoso,dc=com" –pwd P@ssw0rd1
    –mustchpwd yes

要了解這些開關多麼類似,您能夠查看要用於建立此用戶並配置了相同屬性的 dsadd 語法:

dsadd user "cn=afuller,ou=IT,dc=contoso,dc=com" –pwd P@ssw0rd1
    –mustchpwd yes

您能夠清晰地看到,若是知道 dsadd 中用於建立對象的開關,則可使用那些相同的開關修改 dsmod 用戶。
dsrm
dsrm
dsadd 是相逆的;正如您可能想到的,使用此工具可從命令行中刪除對象。基本的 dsrm 語法至關簡明:只需輸入 dsrm 後輸入要刪除對象的可分辨名稱便可,以下所示:

dsrm cn=WKS1,ou=Workstations,dc=contoso,dc=com

默認狀況下,dsrm 會提示確實要刪除此對象嗎?」,此時鍵入 Y,而後按 Enter。您可使用 –noprompt 開關禁止顯示此提示,但很明顯,這樣作沒法在刪除對象以前確認所選對象是否正確。若是要刪除容器對象(即,在其內部可能包含其餘對象的組織單位),另外兩個開關可能會頗有用。如下命令將刪除 TrainingOU 組織單位及其內部包含的全部對象:

dsrm u=TrainingOU,dc=contoso,dc=com –subtree

如下命令將刪除包含在 TrainingOU 中的全部子對象,但保留組織單位對象自己:

dsrm u=TrainingOU,dc=contoso,dc=com –subtree –exclude

相關文章
相關標籤/搜索