管理Active Directory的工具

1、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"


2、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 用戶。

3、dsrm
dsrm 與 dsadd 是相逆的;正如您可能想到的,使用此工具可從命令行中刪除對象。基本的 dsrm 語法至關簡明:只需輸入 dsrm 後輸入要刪除對象的可分辨名稱便可,以下所示:

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

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

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

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

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


4、dsmove
要移動或重命名 Active Directory 中的對象,請使用 dsmove 工具,但請注意您只應使用該工具在單一域中移動對象。要在域和林之間遷移對象,請使用 Active Directory 遷移工具 (ADMT),可從 Microsoft 網站免費下載。Dsmove 依賴於兩個開關,它們能夠單獨使用,也能夠結合在一塊兒使用。如下命令將爲 Steve Conn 的賬戶指定新姓氏:
dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com" –newname "Steve Conn"
如下命令將 Steve 的賬戶從 IT OU 移動到 Training OU:
dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com"–newparent ou=Training,dc=contoso,dc=com

如下命令將 Steve 的賬戶從 IT OU 移動到 Training OU:dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com" –newparent ou=Training,dc=contoso,dc=com

您能夠經過同時指定這兩個開關,將重命名和移動合併爲一個操做,以下所示:
dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com" –newname
    "Steve Conn" –newparent ou=Training,dc=contoso,dc=com

5、Dsget 和 Dsquery

ds* 命令行工具集還包括兩個用於查詢 Active Directory 獲取信息而非用於建立或修改對象的工具。
Dsget 將對象的 DN 做爲輸入併爲您提供您指定的一個或多個屬性的值。Dsget 使用與 dsadd 和 dsmod 相同的子菜單 — user、computer、contact、group、ou 和 quota。
要得到用戶賬戶的 SAM 賬戶名和安全標識符 (SID),請鍵入如下命令(請注意如下全部內容位於一行):
dsget user cn=afuller,ou=IT,dc=contoso,dc=com –samAccountName –sid

您將會獲得如圖所示的輸出。

Dsquery 將返回一個符合您指定條件的 Active Directory 對象的列表。不管您使用的是哪一個子菜單,均可以指定如下參數: dsquery <ObjectType> <StartNode> -s <Search Scope> -o <OutputFormat> 對於 ObjectType,dsquery 可使用如下子菜單,每一個子菜單都具備本身的語法:computer、contact、subnet、group、ou、site、server(請注意,服務器子菜單檢索有關域控制器的信息,而不是環境中的任一成員服務器)、user、quota 和 partition。若是其中一個查詢類型不符合須要,您可使用 * 子菜單,這樣您能夠輸入任意格式的 LDAP 查詢。 StartNode 指定搜索在 Active Directory 樹中的開始位置。您可使用特定的 DN,如 ou=IT、dc=contoso、dc=com 或下列其中一個快捷說明符:domainroot,從特定域的根目錄開始;forestroot,從使用全局編錄服務器執行搜索的林根域的根目錄開始。 最後,「搜索範圍」選項指定 dsquery 搜索 Active Directory 樹的方式。Subtree(默認方式)查詢指定的 StartNode 及其全部子對象;onelevel 僅查詢 StartNode 的直接子項;base 僅查詢 StartNode 對象。 爲了更好地理解搜索範圍,假定有一個 OU,其中包含用戶對象和一個子 OU,該子 OU 自身又包含其餘對象。使用 subtree 範圍將查詢該 OU、包含在該 OU 內的全部用戶對象和子 OU 及其內容。onelevel 範圍僅查詢包含在 OU 中的用戶而不查詢子 OU 及其內容。base 查詢僅搜索 OU 自己而不查詢其中包含的任何對象。 最後,您可使用 Output Format 控制如何設置 dsquery 的結果的格式。默認狀況下,dsquery 將返回與查詢相匹配的全部對象的可分辨名稱,以下所示: "cn=afuller,ou=Training,dc=contoso,dc=com" "cn=rking,ou=ITTraining,ou=Training,dc=contoso,dc=com" 要查詢 IT OU 和任意子 OU 中包含的全部用戶對象,請使用如下命令: dsquery user ou=IT,dc=contoso,dc=com 您能夠經過添加其餘開關進一步細化此查詢,如 -disabled(僅返回已禁用的用戶賬戶)、-inactive x(僅返回在過去 x 周或更久未登陸的用戶)或 -stalepwd x(僅返回在 x 天內或更久未更改其密碼的用戶)。 依據目錄中對象的數目,在運行查詢時您可能須要指定 -limit x 開關。默認狀況下,dsquery 將會返回多達 100 個與查詢細節相匹配的對象。您能夠指定更大的數目(如 -limit 500),或使用 -limit 0 指示 dsquery 返回全部匹配對象。 也可使用其餘子菜單執行對其餘對象類型的有用查詢。考慮如下查詢,此查詢將返回在 Active Directory 站點和服務中定義的位於 10.1.x.x 地址空間中的每一個子網: dsquery subnet –name 10.1.* 或使用如下命令返回位於 Corp 站點中的每一個子網: dsquery subnet –site Corp 使用另外一個子菜單,您能夠很快肯定林中配置爲全局編錄服務器的域控制器的數量: dsquery server –forest –isgc 您還可使用此語法幫助肯定域中哪一個域控制器承載主域控制器 (PDC) 模擬器靈活單主機操做 (FSMO) 角色: dsquery server –hasfsmo pdc 與其餘包含子菜單的 ds* 命令同樣,您能夠轉到命令提示符並鍵入 dsquery user /?、dsquery computer /?、dsquery subnet /? 等查看特定 dsquery 子菜單中可用的全部開關。 另外一個靈活的技巧是使用管道字符(在美式鍵盤上按下 shift 的同時按反斜槓便可)將 dsquery 的輸出經過管道傳送到其餘工具(如 dsmod)中。例如,假設您的公司已將 Training 部門重命名爲 Internal Development,如今您必須將每位相關用戶的說明字段從舊部門名稱更改成新名稱。在單一命令行上,您能夠查詢具備 Training 的說明字段的用戶對象,而後批量修改該說明字段,以下所示: dsquery user –description "Training" | dsmod  -description "Internal Development"
相關文章
相關標籤/搜索