亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

用于管理 Active Directory 的 11 個基本工具

系統 2266 0
CSVDE

逗號分隔值數據交換工具(即 CSVDE)允許您使用 CSV 源文件將新對象導入到 Active Directory 中;此外,該工具還提供了將現有對象導出到 CSV 文件的功能。CSVDE 不能用于修改現有對象;在導入模式下使用此工具時,您只能創建全新的對象。

使用 CSVDE 導出現有對象的列表相當簡單。將 Active Directory 對象導出到名為 ad.csv 的文件,方法如下:

    csvde –f ad.csv
    

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

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

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

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

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


LDIFDE

Active Directory 還提供了另外一個用于執行批量用戶操作的內置工具,稱為 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, OU=UsersOU, DC=contoso, DC=com 
    
changetype: add
cn: afuller
objectClass: user
samAccountName: afuller

dn: CN=rking, OU=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 的文本文件,如 圖 2 所示。

圖 2 ModifyUsers LDF 文件
圖 2 ModifyUsers LDF 文件 (單擊該圖像獲得較小視圖)
圖 2 ModifyUsers LDF 文件
圖 2 ModifyUsers LDF 文件 (單擊該圖像獲得較大視圖)

您可以通過運行與之前相同的 LDIFDE 命令語法,在 -f 開關后面指定新的 LDF 文件名來導入更改。用于刪除對象的 LDF 格式更簡單;要刪除一直使用的用戶,請創建一個名為 DeleteUsers.ldf 的文件,然后輸入以下內容:

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

dn: CN=rking, OU=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 文件,您可以在將這些更改應用于生產環境之前使用這些文件檢查和批準更改。

除了用于執行批量導入和導出操作的工具外,Windows Server 2003 還包括一個內置工具集,您可以使用它來創建、刪除和修改各種 Active Directory 對象,還可以對符合特定條件的對象執行查詢。(請注意 Windows 2000 Active Directory 并不支持這些工具,如 dsadd、dsrm、dsget 和 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 ou=TrainingOU,dc=contoso,dc=com –subtree 
    

以下命令將刪除包含在 TrainingOU 中的所有子對象,但保留組織單位對象本身:

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

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

您可以通過同時指定這兩個開關,將重命名和移動合并為一個操作,如下所示:

    dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com" –newname 
    
"Steve Conn" –newparent ou=Training,dc=contoso,dc=com

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

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

圖 3 運行 dsget
圖 3 運行 dsget (單擊該圖像獲得較小視圖)
圖 3 運行 dsget
圖 3 運行 dsget (單擊該圖像獲得較大視圖)

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"

一些第三方產品

由于 Active Directory 基于 LDAP 標準,您可以使用任何支持 LDAP 的工具對其進行查詢和修改。許多第三方供應商已發布了收費的工具,幫助您管理 Active Directory,但有時您會發現為社區免費提供的極具價值的工具。目錄服務 MVP Joe Richards 創建的集合就是這種情況,可以從 joeware.net/freetools 下載。在那里您將會發現大量具有不同功能的工具。我反復使用的有 adfind、admod 和 oldcmp 這三種工具。


Adfind 和 Admod

Adfind 和 admod 類似于 dsquery 和 dsmod;adfind 是 Active Directory 的命令行查詢工具,admod 能夠創建、刪除或修改一個或多個 Active Directory 對象。

與具有多個子菜單并且開關依據對象類型而異的 ds* 工具不同,adfind 和 admod 具有一致的語法,與要嘗試執行的查詢或修改類型無關。adfind 的基本語法為:

    adfind –b <Search Base> -s <Search Scope> -f <Search Filter>
    
attributesDesired

所以對域中所有計算機對象的 DN 和說明的查詢應為:

    adfind –b dc=contoso,dc=com –s subtree –f (objectclass=computer) dn 
    
description

對所有用戶對象的查詢如下所示:

    adfind –b dc=contoso,dc=com –s subtree –f "(&(objectcategory=person)
    
(objectclass=user))" dn description

注意,除了 LDAP 查詢的內容外,語法沒有任何更改。

使用 adfind 時,您將發現許多快捷操作符,可以減少許多鍵入內容。例如,-default 開關可以取代上一示例中的 -b dc=contoso,dc=com 并搜索整個域;-gc 搜索垃圾收集 (GC) 并返回 Active Directory 林中所有的用戶。還可以使用 -rb 開關設置相對搜索庫;如果要在 phl.east.us.contoso.com 域中搜索 Training OU,您可以通過僅僅指定 –default –rb ou=Training,而非 –b ou=Training, dc=phl,dc=east,dc=us,dc=contoso,dc=com,從而減少許多工作量。

另外,adfind 還可以執行在命令行中不能輕松管理的許多高級搜索功能,如 圖 4 所示。

使用 –asq 開關“顯示 HelpDesk 成員的組成員身份”的示例如下所示:

    adfind –default –rb cn=HelpDesk,ou=IT –asq member memberOf 
    

顧名思義,admod 用于修改 Active Directory 中的對象。與 adfind 一樣,不需要記住有特殊語法的特定子菜單;admod 在任何時候都使用相同的語法,與要處理的對象類型無關。還可以使用 admod 添加、移動、重命名、刪除甚至恢復對象,只需通過添加相應的開關(如 -add、-rm、-move、-undel)即可實現。就像 dsquery 和 dsmod 一樣,您也可以使用 | 字符將 adfind 查詢的結果通過管道傳送到 admod。

請注意,使用 admod 執行恢復操作只能執行邏輯刪除恢復操作,在此操作中大部分對象屬性已被刪除。要完全還原某個對象及其所有屬性,您仍需要執行該對象的授權還原。


Oldcmp

還有一個 joeware 工具,我認為它是自動工具包中必不可少的一部分:oldcmp,該工具會掃描 Active Directory 數據庫,查找在指定周數內未使用的計算機帳戶,而且可以執行以下操作:

  • 創建帳戶報表而不對其進行任何操作
  • 禁用未使用的計算機帳戶
  • 將計算機帳戶移動到另一個指定的 OU 中
  • 完全刪除計算機帳戶

請注意,由于 oldcmp 可能會嚴重損壞您的目錄,因此它有許多內置的安全功能。它不會刪除尚未禁用的任何帳戶(無需手動指定“No really, I mean it!”命令行開關)。無需指定類似的“No really, I mean it!”開關,每次修改對象不會超過 10 個,而且絕對不會對域控制器的計算機帳戶執行任何操作。

現在,盡管工具的名稱易于誤導,但是 Joe 已更新了 oldcmp,以便對在特定時間內未使用的用戶帳戶也能執行相似的功能。

對于一個小型 Active Directory 環境或每次只執行一兩個添加或更改操作的環境,GUI 工具(如 Active Directory 用戶和計算機)可能足以滿足日常管理需要。但是,如果您每天都要添加和修改大量對象,或者只是需要更加簡化地管理任務解決方案,則改用命令行可以大大加快在 Active Directory 中創建、修改和刪除對象的過程。您已經了解到,有許多靈活且功能強大的工具可以免費獲得,它們或者內置于 Windows 中,或者可從 Active Directory 社區成員中下載。這些工具中的任何一個都能夠大大提高 Active Directory 管理員的工作效率,與此同時,它們在您的日常工作中變得更加必要。

用于管理 Active Directory 的 11 個基本工具


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲有色 | 亚洲欧洲一区二区三区在线观看 | 成人久久精品一区二区三区 | 七色永久性tv网站免费看 | 日本老年人精品久久中文字幕 | 伊人蕉 | 国产成人福利夜色影视 | 在线亚洲国产精品区 | 国产精品亚洲欧美日韩久久 | 国产精品美女免费视频大全 | 香蕉在线影院 | 一级黄色a视频 | 国产亚洲欧美在在线人成 | 97视频在线视频 | 亚洲欧美日韩国产精品网 | 精品国产品欧美日产在线 | 国产h版大片在线播放 | 国产小福利 | 天天干天天干天天色 | 国产一级成人毛片 | 亚洲国产天堂久久九九九 | 99久久免费看国产精品 | 狠狠地射 | 日本亚洲欧洲高清有码在线播放 | 国产欧美视频综合二区 | 精品国产品香蕉在线 | 9久热这里只有精品免费 | 99在线免费观看视频 | 香蕉视频在线观看网站 | 欧美极品福利视频在线播放 | 国内女高中生一级毛片 | 夜夜爽www | 69视频在线观看福利视频 | 欧美天天性影院 | 国产99久9在线 | 欧美亚洲国产精品第一页 | 九九热视频在线观看 | 中文字幕精品视频在线观 | 亚洲免费网站在线观看 | 久久免费在线视频 | 久国产视频 |