• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            tqsheng

            go.....
            隨筆 - 366, 文章 - 18, 評論 - 101, 引用 - 0
            數據加載中……

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

            用于管理 Active Directory 的 11 個基本工具
            Laura E. Hunter
             
            概覽:
            • 在命令行創建對象
            • 在 Active Directory 中執行批量操作
            • Active Directory 更新和維護

            如果您負責處理列有從下周開始工作的 200 名新員工資料的 Excel 電子表格,或者由于技術支持人員點擊了某些不應點擊的內容而導致用戶帳戶配置錯誤,
            或者您只是需要除了打開“用戶和計算機”之外的一種更加輕松的方法來管理 Active Directory®,則有大量免費管理工具可以提供幫助。有些工具內置于 Windows® 操作系統中,有些位于資源工具包或 Windows 支持工具中,而有些甚至是免費的第三方工具。這些便捷工具都包括什么,可以從何處獲取?讓我們來了解一下。
            首先介紹 Windows Server® 2003 中的內置命令行工具,這些工具允許您在 Active Directory 中創建、刪除、修改和查找對象。

            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 命令的開關實際上是相同的。)
              Figure 1 LDIFDE 開關

            開關說明
            -d指定 LDIFDE 為了執行操作應連接到的 LDAP 路徑。
            -f指明要使用的文件的名稱,在本例中用于輸出導出結果。
            -r指定要用于導出操作的 LDAP 篩選器。
            -s指定要連接到的執行操作的域控制器 (DC);如果遺漏了此項,LDIFDE 將連接到本地 DC 上(如果您正在從工作站中運行此工具,則連接到驗證您身份的 DC)。
              
            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 文件 (單擊該圖像獲得較大視圖)
            您可以通過運行與之前相同的 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 (單擊該圖像獲得較大視圖)
            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 所示。
              Figure 4 adfind 開關

            開關說明
            -showdel查詢 Deleted Objects 容器,查找邏輯刪除對象。
            -bit查詢 user­AccountControl 屬性之類的位運算符。
            -asq執行屬性范圍查詢。此功能(在 dsquery 中不能使用)可以檢索特定對象的屬性,然后對其執行查詢。
            -dsq將 adfind 查詢的結果通過管道傳送到 dsmod 或其他 ds* 工具之一。
              
            使用 –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 管理員的工作效率,與此同時,它們在您的日常工作中變得更加必要。

            Laura E. Hunter曾連續四次獲得 Windows Server 網絡領域中的 Microsoft MVP 獎。她是“Active Directory Cookbook, Second Edition”(Active Directory 詳解,第二版)(O'Reilly, 2006) 的作者。Laura 在 IT 行業已有 10 年的豐富經驗,目前在一家全球著名的工程公司擔任 Active Directory 架構師。她擁有多個行業的相關證書,而且經常在用戶組會議和行業會議上發表演講。 

            posted on 2011-10-25 21:54 tqsheng 閱讀(358) 評論(0)  編輯 收藏 引用

            久久夜色精品国产亚洲| 老色鬼久久亚洲AV综合| 国产精品久久国产精品99盘| 久久精品视频一| 亚洲AV日韩AV天堂久久| 久久人妻少妇嫩草AV蜜桃| 欧美粉嫩小泬久久久久久久| 精品乱码久久久久久夜夜嗨| 亚洲国产成人精品久久久国产成人一区二区三区综 | 久久久久久A亚洲欧洲AV冫| 国产精品九九久久免费视频 | 久久综合给合综合久久| 久久无码人妻精品一区二区三区 | 婷婷久久五月天| 亚洲精品美女久久久久99小说| 久久综合成人网| 国产精品一区二区久久精品涩爱| 久久伊人五月天论坛| 人人妻久久人人澡人人爽人人精品 | 国内精品人妻无码久久久影院| 久久精品国产亚洲av高清漫画| 国产午夜精品久久久久免费视| 久久99免费视频| 国产精品99久久久精品无码 | 91精品国产91热久久久久福利| 一本伊大人香蕉久久网手机| 国产精品美女久久久久av爽 | 久久精品aⅴ无码中文字字幕不卡| 色婷婷综合久久久中文字幕| 久久综合中文字幕| 亚洲国产香蕉人人爽成AV片久久 | 国产精品久久久久久搜索| 99久久精品国产一区二区| 中文字幕久久精品| 精品国产乱码久久久久久呢| 97精品久久天干天天天按摩| 国产精品日韩深夜福利久久| 日本五月天婷久久网站| 久久久91精品国产一区二区三区| 久久精品国产亚洲Aⅴ香蕉| 亚洲狠狠婷婷综合久久蜜芽|