如何在 Active Directory 中還原已刪除的用戶帳戶及其群組成員資格

本文提供如何在 Active Directory 中還原已刪除的用戶帳戶和群組成員資格的相關信息。

適用於: Windows Server 2019、Windows Server 2016、Windows Server 2012 R2
原始 KB 編號: 840001

簡介

您可以使用數種方法來還原已刪除的使用者帳戶、計算機帳戶和安全組。 這些物件統稱為安全性主體。

最常見的方法是在以 Windows Server 2008 R2 和更新版本為基礎的域控制器上啟用支援的 AD 回收站功能。 如需這項功能的詳細資訊,包括如何啟用和還原物件,請參閱 Active Directory 回收站逐步指南

如果您無法使用此方法,則可以使用下列三種方法。 在這三種方法中,您都會以授權方式還原已刪除的對象,然後還原已刪除安全性主體的群組成員資格資訊。 當您還原已刪除的物件時,您必須在受影響的安全性主體中還原 和 memberOf 屬性的先前值member

注意事項

藉由啟用以 Windows Server 2008 R2 和更新版本為基礎的域控制器所支援的 AD 回收站功能,即可簡化在 Active Directory 中復原已刪除的物件。 如需這項功能的詳細資訊,包括如何啟用和還原物件,請參閱 Active Directory 回收站逐步指南

其他相關資訊

方法 1 和 2 可為網域用戶和系統管理員提供更好的體驗。 這些方法會保留在上一次系統狀態備份的時間與刪除發生時間之間所新增的安全組。 在方法 3 中,您不會對安全性主體進行個別調整。 相反地,您會在最後一次備份時,將安全組成員資格回復為其狀態。

大部分的大規模刪除都是意外的。 Microsoft 建議您採取數個步驟來防止其他人大量刪除物件。

注意事項

若要防止意外刪除或移動物件 (特別是組織單位) 、 (ACL) 的兩個拒絕存取控制專案可以新增至每個物件的安全描述符, (DENY DELETE & DELETE TREE) ,以及一個拒絕訪問控制專案 (ACL) 可以新增至每個物件的 PARENT 安全描述 (DENY DELETE CHILD) 。 若要這樣做,請使用 Active Directory 使用者和電腦、ADSIEdit、對應器或 DSACLS 命令行工具。 您也可以變更組織單位的 AD 架構中的預設許可權,以便預設包含這些 ACL。

例如,若要保護被呼叫 CONTOSO.COM 的組織單位,避免不小心從其稱為 MyCompany 的父組織單位移出或刪除,請進行下列設定:

針對 MyCompany 組織單位,新增 DENY ACE for Everyone to DELETE CHILD with This object only scope:

DSACLS "OU=MyCompany,DC=CONTOSO,DC=COM" /D "EVERYONE:DC"/

針對 [使用者] 組織單位,將 DENY ACE for Everyone 新增至 DELETE 和 DELETE TREE ,其中 包含 [僅限此物件 ] 範圍:

DSACLS "OU=Users,OU=MyCompany,DC=CONTOSO,DC=COM" /D "EVERYONE:SDDT"

Windows Server 2008 中 Active Directory 使用者和電腦 嵌入式管理單元包含 [物件] 索引標籤上的 [防止意外刪除的物件] 複選框。

注意事項

必須啟用 [ 進階功能] 複選框,才能檢視該索引卷標。

當您在 Windows Server 2008 中使用 Active Directory 使用者和電腦 建立組織單位時,會出現 [防止容器意外刪除] 複選框。 根據預設,會選取複選框,而且可以取消選取。

雖然您可以使用這些 ACL 在 Active Directory 中設定每個物件,但它最適合組織單位。 刪除或移動所有分葉物件可能會有主要效果。 此設定可防止這類刪除或移動。 若要使用這類設定來真正刪除或移動對象,必須先移除拒絕 ACL。

本文討論如何在使用者帳戶、計算機帳戶及其群組成員資格從Active Directory 中刪除之後,還原用戶帳戶、 電腦帳戶及其群組成員資格。 在此案例的變化中,用戶帳戶、計算機帳戶或安全組可能已個別或以某種組合刪除。 在所有這些情況下,適用相同的初始步驟。 您會以授權方式還原或驗證不小心刪除的物件。 某些已刪除的物件需要還原更多工作。 這些物件包含物件,例如包含屬性的用戶帳戶,這些屬性是其他物件屬性的後端連結。 其中兩個屬性為 managedBymemberOf

當您將使用者帳戶、安全組或計算機帳戶等安全性主體新增至安全組時,您會在 Active Directory 中進行下列變更:

  1. 安全性主體的名稱會新增至每個安全組的成員屬性。
  2. 針對使用者、計算機或安全組所屬的每個安全組,會將上一頁連結新增至安全性主體的 memberOf 屬性。

同樣地,當使用者、計算機或群組從 Active Directory 中刪除時,會發生下列動作:

  1. 已刪除的安全性主體會移至已刪除的物件容器。
  2. 一些屬性值,包括 memberOf 屬性,會從已刪除的安全性主體中移除。
  3. 已刪除的安全性主體會從其所屬的任何安全組中移除。 換句話說,已刪除的安全性主體會從每個安全組的成員屬性中移除。

當您復原已刪除的安全性主體並還原其群組成員資格時,每個安全性主體都必須存在於 Active Directory 中,才能還原其群組成員資格。 成員可以是使用者、計算機或其他安全組。 若要更廣泛地重述此規則,包含值為back連結之屬性的對象必須存在於Active Directory中,才能還原或修改包含該轉送連結的物件。

本文著重於如何復原已刪除的用戶帳戶及其在安全組中的成員資格。 其概念同樣適用於其他物件刪除。 本文的概念同樣適用於屬性值使用轉送連結的已刪除物件,以及 Active Directory 中其他物件的後端連結。

您可以使用這三種方法之一來復原安全性主體。 當您使用方法 1 時,您會保留已新增至整個樹系中任何安全組的所有安全性主體。 此外,您只會將已從各自網域中刪除的安全性主體新增至其安全組。 例如,您可以進行系統狀態備份、將使用者新增至安全組,然後還原系統狀態備份。 當您使用方法 1 或 2 時,您會保留已新增至安全組的任何使用者,這些使用者在建立系統狀態備份的日期和還原備份的日期之間包含已刪除的使用者。 當您使用方法 3 時,您會在系統狀態備份時,將包含已刪除使用者之所有安全組的安全組成員資格回復為其狀態。

方法 1 - 還原已刪除的使用者帳戶,然後使用 Ntdsutil.exe 命令行工具將還原的使用者新增至其群組

Ntdsutil.exe 命令行工具可讓您還原已刪除物件的後端連結。 每個授權還原作業都會產生兩個檔案。 其中一個檔案包含授權還原的物件清單。 另一個檔案是與 Ldifde.exe 公用程式搭配使用的 .ldf 檔案。 此檔案可用來還原已授權還原之物件的回連結。 用戶對象的授權還原也會產生具有群組成員資格的LDAP資料交換格式 (LDIF) 檔案。 這個方法可避免雙重還原。

當您使用此方法時,您會執行下列高階步驟:

  1. 檢查使用者網域中的全域編錄是否尚未在刪除中複寫。 然後防止復寫該全域編錄。 如果沒有潛在全域編錄,請在已刪除使用者的主域中找到全域編錄域控制器最新的系統狀態備份。
  2. 驗證還原所有已刪除的用戶帳戶,然後允許這些用戶帳戶的端對端複寫。
  3. 在刪除使用者帳戶之前,將所有還原的使用者新增至使用者帳戶所屬所有網域中的所有群組。

若要使用方法 1,請遵循下列程式:

  1. 檢查已刪除使用者主域中是否有全域編錄域控制器尚未復寫刪除的任何部分。

    注意事項

    專注於複寫排程最不頻繁的全域編錄。

    如果其中一或多個全域編錄存在,請遵循下列步驟,使用 Repadmin.exe 命令行工具立即停用輸入複寫:

    1. 選取 [開始],然後選取 [執行]

    2. 在 [開啟] 塊中輸入 cmd,然後選取 [確定]

    3. 在命令提示字元中輸入下列命令,然後按 ENTER:

      repadmin /options <recovery dc name> +DISABLE_INBOUND_REPL
      

      注意事項

      如果您無法立即發出 Repadmin 命令,請從潛在全域目錄移除所有網路連線,直到您可以使用 Repadmin 停用輸入複寫,然後立即傳回網路連線。

    此域控制器將稱為復原域控制器。 如果沒有這類全域編錄,請移至步驟 2。

  2. 如果下列所有語句都成立,最好停止變更樹系中的安全組:

    • 您使用方法 1,透過其辨別名稱 (dn) 路徑,以授權方式還原已刪除的使用者或電腦帳戶。
    • 刪除已復寫到樹系中除了潛在復原域控制器以外的所有域控制器。
    • 您不會驗證是否要還原安全組或其父容器。

    如果您要驗證是否要將安全組或組織單位 (OU) 裝載安全組或使用者帳戶的容器,請暫時停止所有這些變更。

    除了發生刪除有關停止這些變更之網域中的網域使用者之外,也請通知適當網域中的系統管理員和技術支援中心系統管理員。

  3. 在發生刪除的網域中建立新的系統狀態備份。 如果您必須復原變更,可以使用此備份。

    注意事項

    如果系統狀態備份目前為刪除點為止,請略過此步驟並移至步驟 4。

    如果您在步驟 1 中識別出復原域控制器,請立即備份其系統狀態。

    如果刪除時復寫位於刪除所在網域中的所有全域編錄,請在發生刪除的網域中備份全域編錄的系統狀態。

    當您建立備份時,可以讓復原域控制器回到其目前的狀態。 如果第一次嘗試失敗,請再次執行復原方案。

  4. 如果您在發生使用者刪除的網域中找不到潛在全域編錄域控制器,請尋找該網域中全域編錄域控制器的最新系統狀態備份。 此系統狀態備份應該包含已刪除的物件。 使用此域控制器作為復原域控制器。

    只有還原用戶網域中的全域編錄域控制器,才會包含位於外部網域之安全組的全域和通用群組成員資格資訊。 如果刪除使用者的網域中沒有全域編錄域控制器的系統狀態備份,您就無法在還原的用戶帳戶上使用 memberOf 屬性來判斷全域或通用群組成員資格,或復原外部網域中的成員資格。 此外,最好是尋找非全域編錄域控制器的最新系統狀態備份。

  5. 如果您知道離線系統管理員帳戶的密碼,請以 Disrepair 模式啟動復原域控制器。 如果您不知道離線系統管理員帳戶的密碼,請在復原域控制器仍處於一般 Active Directory 模式時,使用 ntdsutil.exe 重設密碼。

    您可以使用 setpwd 命令行工具,在域控制器處於線上 Active Directory 模式時重設密碼。

    注意事項

    Microsoft 不再支援 Windows 2000。

    Windows Server 2003 和更新版本域控制器的系統管理員可以使用 set dsrm password Ntdsutil 命令行工具中的 命令,重設離線系統管理員帳戶的密碼。

    如需如何重設目錄服務還原模式系統管理員帳戶的詳細資訊,請參閱 如何在 Windows Server 中重設目錄服務還原模式系統管理員帳戶密碼

  6. 在啟動程序期間按 F8,以 Disrepair 模式啟動復原域控制器。 使用離線系統管理員帳戶登入復原域控制器的控制台。 如果您在步驟 5 中重設密碼,請使用新的密碼。

    如果復原域控制器是潛在的全域編錄域控制器,請勿還原系統狀態。 移至步驟 7。

    如果您要使用系統狀態備份來建立復原域控制器,請立即還原在復原域控制器上所做的最新系統狀態備份。

  7. 驗證還原已刪除的用戶帳戶、已刪除的電腦帳戶或已刪除的安全組。

    注意事項

    驗證還原 」和 「授權還 原」一詞指的是在 Ntdsutil 命令行工具中使用授權還原命令來遞增特定物件或特定容器及其所有附屬物件的版本號碼的程式。 一旦發生端對端復寫,復原域控制器的 Active Directory 本地副本中的目標物件就會在所有共用該分割區的域控制器上變成授權。 授權還原與系統狀態還原不同。 系統狀態還原會在進行系統狀態備份時,將已還原域控制器的 Active Directory 本地副本填入物件的版本。

    授權還原是使用 Ntdsutil 命令行工具執行,並參考已刪除使用者的功能變數名稱 (dn) 路徑,或是裝載已刪除使用者的容器。

    當您驗證還原時,請使用功能變數名稱 (dn) 網域樹狀結構中盡可能低的路徑。 其目的是要避免還原與刪除無關的物件。 這些物件可能包含在進行系統狀態備份之後修改的物件。

    以下欄順序驗證還原已刪除的使用者:

    1. 驗證會針對每個已刪除的用戶帳戶、計算機帳戶或安全組 (dn) 路徑來還原功能變數名稱。

      特定對象的授權還原需要較長的時間,但其破壞性比整個子樹的授權還原還原更短。 驗證會還原保存已刪除物件的最低通用父容器。

      Ntdsutil 使用下列語法:

      ntdsutil "authoritative restore" "restore object <object DN path>" q q
      

      例如,若要在網域的 Mayberry OU 中以權威方式還原已刪除的 Contoso.com 使用者 John Doe,請使用下列命令:

      ntdsutil "authoritative restore" "restore object cn=JohnDoe,ou=Mayberry,dc=contoso,dc=com" q q
      

      若要在網域的 Mayberry OU Contoso.com 中以授權方式還原已刪除的安全組 ContosoPrintAccess,請使用下列命令:

      ntdsutil "authoritative restore" "restore object cn=ContosoPrintAccess,ou=Mayberry,dc=contoso,dc=com" q q
      

      重要事項

      需要使用引號。

      針對您還原的每個使用者,至少會產生兩個檔案。 這些檔案具有下列格式:

      ar_YYYYMMDD-HHMMSS_objects.txt
      此檔案包含授權還原對象的清單。 在使用者是網域本機群組成員的樹系中任何其他網域中,搭配 ntdsutil 授權還原 create ldif file from 命令使用此檔案。

      ar_YYYYMMDD-HHMMSS_links_usn.loc.ldf
      如果您在全域編錄上執行驗證還原,就會為樹系中的每個網域產生其中一個檔案。 此檔案包含可與 Ldifde.exe 公用程式搭配使用的腳本。 腳本會還原已還原對象的回連結。 在使用者的主域中,腳本會還原已還原使用者的所有群組成員資格。 在使用者具有群組成員資格之樹系中的所有其他網域中,腳本只會還原通用和全域群組成員資格。 腳本不會還原任何網域本機群組成員資格。 全域編錄不會追蹤這些成員資格。

    2. 驗證只會還原裝載已刪除用戶帳戶或群組的 OU 或 Common-Name (CN) 容器。

      當 ntdsutil authority restore 命令的目標 OU 包含您嘗試以授權方式還原的大部分物件時,整個子樹的授權還原是有效的。 在理想情況下,目標 OU 包含您嘗試以授權方式還原的所有物件。

      OU 子樹上的權威還原會還原容器中的所有屬性和物件。 在還原系統狀態備份之前所做的任何變更,都會在備份時回復為其值。 使用使用者帳戶、計算機帳戶和安全組時,此復原可能表示遺失下列專案的最近變更:

      • 密碼
      • 主目錄
      • 配置文件路徑
      • 位置
      • 聯繫人資訊
      • 群組成員資格
      • 在這些物件和屬性上定義的任何安全描述符。

      Ntdsutil 使用下列語法:

      ntdsutil "authoritative restore" "restore subtree <container DN path>" q q
      

      例如,若要以授權方式還原網域的 Contoso.comMayberry OU,請使用下列命令:

      ntdsutil "authoritative restore" "restore subtree ou=Mayberry, dc=contoso,dc=com" q q
      

      注意事項

      針對裝載已刪除使用者或群組的每個對等 OU 重複此步驟。

      重要事項

      當您還原 OU 的次級物件時,必須明確地還原已刪除之附屬物件的所有已刪除父容器。

      針對您還原的每個組織單位,至少會產生兩個檔案。 這些檔案具有下列格式:

      ar_YYYYMMDD-HHMMSS_objects.txt
      此檔案包含授權還原對象的清單。 使用此檔案搭配樹系中任何其他網域的 ntdsutil 授權還原 create ldif file from 命令,其中還原的使用者是網域本機群組的成員。

      ar_YYYYMMDD-HHMMSS_links_usn.loc.ldf
      此檔案包含可與 Ldifde.exe 公用程式搭配使用的腳本。 腳本會還原已還原對象的回連結。 在使用者的主域中,腳本會還原已還原使用者的所有群組成員資格。

  8. 如果已刪除的對象因為系統狀態還原而在復原域控制器上復原,請移除提供網路連線給樹系中所有其他域控制器的所有網路纜線。

  9. 在一般 Active Directory 模式中重新啟動復原域控制器。

  10. 輸入下列命令以停用復原域控制器的輸入複寫:

    repadmin /options <recovery dc name> +DISABLE_INBOUND_REPL
    

    啟用網路連線回到已還原系統狀態的復原域控制器。

  11. 將驗證還原的物件從復原域控制器輸出複寫到網域和樹系中的域控制器。

    當復原域控制器的輸入複寫仍然停用時,請輸入下列命令,將驗證還原的物件推送至網域中的所有跨網站複本域控制器,以及樹系中的所有全域目錄:

    repadmin /syncall /d /e /P <recovery dc> <Naming Context>
    

    如果下列所有語句都成立,則會使用還原和複寫已刪除的用戶帳戶來重建群組成員資格連結。 移至步驟 14。

    注意事項

    如果下列一或多個語句不正確,請移至步驟 12。

    • 您的樹系是在 Windows Server 2003 和更新版本或更新版本的樹系功能等級或 Windows Server 2003 及更新版本或更新版本的過渡樹系功能等級執行。
    • 只會刪除使用者帳戶或計算機帳戶,而不會刪除安全組。
    • 在樹系轉換為 Windows Server 2003 和更新版本或更新版本的樹系功能等級之後,已刪除的使用者已新增至樹系中所有網域的安全組。
  12. 在復原域控制器的 控制臺上,使用 Ldifde.exe 公用程式和 ar_YYYYMMDD-HHMMSS_links_usn.loc.ldf 檔案來還原使用者的群組成員資格。 如果要執行這項操作,請依照下列步驟執行:

    • 取 [開始],選取 [執行],在 [啟] 方塊中輸入 cmd,然後選取 [確定]

    • 在命令提示字元處輸入下列命令,然後按 ENTER:

      ldifde -i -f ar_YYYYMMDD-HHMMSS_links_usn.loc.ldf
      
  13. 使用下列命令開啟復原域控制器的輸入複寫:

    repadmin /options <recovery dc name> -DISABLE_INBOUND_REPL
    
  14. 如果已刪除的使用者新增至外部網域中的本機群組,請採取下列其中一個動作:

    • 手動將已刪除的使用者新增至這些群組。
    • 還原系統狀態並驗證還原每個包含已刪除使用者的本機安全組。
  15. 確認復原域控制器網域中的群組成員資格,以及其他網域中的全域編錄。

  16. 在復原域控制器的網域中建立域控制器的新系統狀態備份。

  17. 通知樹系中的所有樹系系統管理員、委派的系統管理員、樹系中的技術支援中心系統管理員,以及網域中的使用者,使用者還原已完成。

    技術支援中心系統管理員可能必須重設已還原驗證之使用者帳戶的密碼,以及在建立還原系統之後變更網域密碼的計算機帳戶。

    在進行系統狀態備份之後變更其密碼的用戶會發現其最新的密碼無法再運作。 如果這類使用者知道這些使用者,請嘗試使用先前的密碼登入。 否則,技術支援中心系統管理員必須重設密碼,然後選取 [用戶必須在下一次登入時變更密碼] 複 選框。 最好是在使用者所在相同 Active Directory 月臺的域控制器上執行此動作。

方法 2 - 還原已刪除的使用者帳戶,然後將還原的使用者新增至其群組

當您使用此方法時,您會執行下列高階步驟:

  1. 檢查使用者網域中的全域編錄是否尚未在刪除中複寫。 然後防止復寫該全域編錄。 如果沒有潛在全域編錄,請在已刪除使用者的主域中找出全域編錄域控制器最新的系統狀態備份。
  2. 驗證還原所有已刪除的用戶帳戶,然後允許這些用戶帳戶的端對端複寫。
  3. 在刪除使用者帳戶之前,將所有還原的使用者新增至使用者帳戶所屬所有網域中的所有群組。

若要使用方法 2,請遵循下列程式:

  1. 檢查已刪除使用者主域中是否有全域編錄域控制器尚未復寫刪除的任何部分。

    注意事項

    專注於複寫排程最不頻繁的全域編錄。

    如果其中一或多個全域編錄存在,請使用 Repadmin.exe 命令行工具立即停用輸入複寫。 如果要執行這項操作,請依照下列步驟執行:

    1. 選取 [開始],然後選取 [執行]
    2. 在 [開啟] 塊中輸入 cmd,然後選取 [確定]
    3. 在命令提示字元中輸入下列命令,然後按 ENTER:
    repadmin /options <recovery dc name> +DISABLE_INBOUND_REPL
    

    注意事項

    如果您無法立即發出 Repadmin 命令,請從潛在全域目錄移除所有網路連線,直到您可以使用 Repadmin 停用輸入復寫,然後立即傳回網路連線。

    此域控制器將稱為復原域控制器。 如果沒有這類全域編錄,請移至步驟 2。

  2. 決定在完成所有復原步驟之前,是否必須暫時停止使用者帳戶、計算機帳戶和安全組的新增、刪除和變更。

    若要維護最具彈性的復原路徑,請暫時停止對下列項目進行變更。 變更包括網域使用者、技術支援中心系統管理員和發生刪除之網域中的系統管理員重設密碼,以及已刪除使用者群組中的群組成員資格變更。 請考慮停止對下列專案的新增、刪除和修改:

    1. 用戶帳戶和用戶帳戶上的屬性
    2. 計算機帳戶上的電腦帳戶和屬性
    3. 服務帳戶
    4. 安全性群組

    如果下列所有語句都成立,最好停止變更樹系中的安全組:

    • 您正在使用方法 2,根據使用者的功能變數名稱 (dn) 路徑,以授權方式還原已刪除的使用者或電腦帳戶。
    • 刪除已復寫到樹系中除了潛在復原域控制器以外的所有域控制器。
    • 您不會驗證是否要還原安全組或其父容器。

    如果您要驗證是否要將安全組或組織單位 (OU) 裝載安全組或使用者帳戶的容器,請暫時停止所有這些變更。

    除了發生刪除有關停止這些變更之網域中的網域使用者之外,也請通知適當網域中的系統管理員和技術支援中心系統管理員。

  3. 在發生刪除的網域中建立新的系統狀態備份。 如果您必須復原變更,可以使用此備份。

    注意事項

    如果系統狀態備份目前為刪除點為止,請略過此步驟並移至步驟 4。

    如果您在步驟 1 中識別出復原域控制器,請立即備份其系統狀態。

    如果刪除時復寫位於刪除所在網域中的所有全域編錄,請在發生刪除的網域中備份全域編錄的系統狀態。

    當您建立備份時,可以讓復原域控制器回到其目前的狀態。 如果第一次嘗試失敗,請再次執行復原方案。

  4. 如果您在發生使用者刪除的網域中找不到潛在全域編錄域控制器,請尋找該網域中全域編錄域控制器的最新系統狀態備份。 此系統狀態備份應該包含已刪除的物件。 使用此域控制器作為復原域控制器。

    只有還原用戶網域中的全域編錄域控制器,才會包含位於外部網域之安全組的全域和通用群組成員資格資訊。 如果刪除使用者的網域中沒有全域編錄域控制器的系統狀態備份,您就無法在還原的用戶帳戶上使用 memberOf 屬性來判斷全域或通用群組成員資格,或復原外部網域中的成員資格。 此外,最好是尋找非全域編錄域控制器的最新系統狀態備份。

  5. 如果您知道離線系統管理員帳戶的密碼,請以 Disrepair 模式啟動復原域控制器。 如果您不知道離線系統管理員帳戶的密碼,請在復原域控制器仍處於一般 Active Directory 模式時重設密碼。

    您可以使用 setpwd 命令行工具,在執行 Windows 2000 Service Pack 2 的域控制器上重設密碼, (SP2) 和更新版本,而這些域控制器處於在線 Active Directory 模式。

    注意事項

    Microsoft 不再支援 Windows 2000。

    Windows Server 2003 和更新版本域控制器的系統管理員可以使用 set dsrm password Ntdsutil 命令行工具中的 命令,重設離線系統管理員帳戶的密碼。

    如需如何重設目錄服務還原模式系統管理員帳戶的詳細資訊,請參閱 如何在 Windows Server 中重設目錄服務還原模式系統管理員帳戶密碼

  6. 在啟動程序期間按 F8,以 Disrepair 模式啟動復原域控制器。 使用離線系統管理員帳戶登入復原域控制器的控制台。 如果您在步驟 5 中重設密碼,請使用新的密碼。

    如果復原域控制器是潛在的全域編錄域控制器,請勿還原系統狀態。 移至步驟 7。

    如果您要使用系統狀態備份來建立復原域控制器,請立即還原在復原域控制器上所做的最新系統狀態備份。

  7. 驗證還原已刪除的用戶帳戶、已刪除的電腦帳戶或已刪除的安全組。

    注意事項

    驗證還原 」和 「授權還 原」一詞指的是在 Ntdsutil 命令行工具中使用授權還原命令來遞增特定物件或特定容器及其所有附屬物件的版本號碼的程式。 一旦發生端對端復寫,復原域控制器的 Active Directory 本地副本中的目標物件就會在所有共用該分割區的域控制器上變成授權。 授權還原與系統狀態還原不同。 系統狀態還原會在進行系統狀態備份時,將已還原域控制器的 Active Directory 本地副本填入物件的版本。

    授權還原是使用 Ntdsutil 命令行工具執行,並參考已刪除使用者的功能變數名稱 (dn) 路徑,或是裝載已刪除使用者的容器。

    當您驗證還原時,請使用功能變數名稱 (dn) 網域樹狀結構中盡可能低的路徑。 其目的是要避免還原與刪除無關的物件。 這些物件可能包含在進行系統狀態備份之後修改的物件。

    以下欄順序驗證還原已刪除的使用者:

    1. 驗證會針對每個已刪除的用戶帳戶、計算機帳戶或安全組 (dn) 路徑來還原功能變數名稱。

      特定對象的授權還原需要較長的時間,但其破壞性比整個子樹的授權還原還原更短。 驗證會還原保存已刪除物件的最低通用父容器。

      Ntdsutil 使用下列語法:

      ntdsutil "authoritative restore" "restore object <object DN path>" q q
      

      例如,若要在網域的 Mayberry OU 中以權威方式還原已刪除的 Contoso.com 使用者 John Doe,請使用下列命令:

      ntdsutil "authoritative restore" "restore object cn=JohnDoe,ou=Mayberry,dc=contoso,dc=com" q q
      

      若要在網域的 Mayberry OU Contoso.com 中以授權方式還原已刪除的安全組 ContosoPrintAccess,請使用下列命令:

      ntdsutil "authoritative restore" "restore object cn=ContosoPrintAccess,ou=Mayberry,dc=contoso,dc=com" q q
      

      重要事項

      需要使用引號。

      注意事項

      此語法僅適用於 Windows Server 2003 和更新版本。 Windows 2000 中唯一的語法是使用下列專案:

      ntdsutil "authoritative restore" "restore subtree object DN path"
      

      注意事項

      如果辨別名稱路徑 (DN) 包含擴充字元或空格,Ntdsutil 授權還原作業就不會成功。 若要讓腳本還原成功, restore object <DN path> 命令必須以一個完整字串的形式傳遞。

      若要解決此問題,請使用反斜杠雙引號逸出序列包裝包含擴充字元和空格的 DN。 範例如下:

      ntdsutil "authoritative restore" "restore object \"CN=John Doe,OU=Mayberry NC,DC=contoso,DC=com\"" q q
      

      注意事項

      如果要還原之物件的 DN 包含逗號,則必須進一步修改命令。 請參閱下列範例:

      ntdsutil "authoritative restore" "restore object \"CN=Doe\, John,OU=Mayberry NC,DC=contoso,DC=com\"" q q
      

      注意事項

      如果對像是從磁帶還原,標示為授權且還原未如預期般運作,然後使用相同的磁帶再次還原 NTDS 資料庫,則要以授權方式還原的物件 USN 版本必須高於預設值 100000,否則物件將不會在第二次還原之後復寫。 需要下列語法,才能編寫高於 100000 (預設版本號碼的腳本) :

      ntdsutil "authoritative restore" "restore object \"CN=Doe\, John,OU=Mayberry NC,DC=contoso,DC=com\" verinc 150000\"" q q
      

      注意事項

      如果文稿在每個正在還原的物件上提示確認,您可以關閉提示。 關閉提示的語法如下:

      ntdsutil "popups off" "authoritative restore" "restore object \"CN=John Doe,OU=Mayberry NC,DC=contoso,DC=com\" verinc 150000\"" q q
      
    2. 驗證只會還原裝載已刪除用戶帳戶或群組的 OU 或 Common-Name (CN) 容器。

      當 ntdsutil authority restore 命令的目標 OU 包含您嘗試以授權方式還原的大部分物件時,整個子樹的授權還原是有效的。 在理想情況下,目標 OU 包含您嘗試以授權方式還原的所有物件。

      OU 子樹上的權威還原會還原容器中的所有屬性和物件。 在還原系統狀態備份之前所做的任何變更,都會在備份時回復為其值。 使用使用者帳戶、計算機帳戶和安全組時,此復原可能表示遺失密碼、主目錄、配置檔路徑、位置和連絡資訊、群組成員資格,以及這些對象和屬性上定義的任何安全描述符的最新變更。

      Ntdsutil 使用下列語法:

      ntdsutil "authoritative restore" "restore subtree <container DN path>" q q
      

      例如,若要以授權方式還原網域的 Contoso.comMayberry OU,請使用下列命令:

      ntdsutil "authoritative restore" "restore subtree ou=Mayberry, dc=contoso,dc=com" q q
      

      注意事項

      針對裝載已刪除使用者或群組的每個對等 OU 重複此步驟。

      重要事項

      當您還原 OU 的次級物件時,必須明確地還原已刪除之附屬物件的所有已刪除父容器。

  8. 如果已刪除的對象因為系統狀態還原而在復原域控制器上復原,請移除提供網路連線給樹系中所有其他域控制器的所有網路纜線。

  9. 在一般 Active Directory 模式中重新啟動復原域控制器。

  10. 輸入下列命令以停用復原域控制器的輸入複寫:

    repadmin /options <recovery dc name> +DISABLE_INBOUND_REPL
    

    啟用網路連線回到已還原系統狀態的復原域控制器。

  11. 將驗證還原的物件從復原域控制器輸出複寫到網域和樹系中的域控制器。

    當復原域控制器的輸入複寫仍然停用時,請輸入下列命令,將驗證還原的物件推送至網域中的所有跨網站複本域控制器,以及樹系中的所有全域目錄:

    repadmin /syncall /d /e /P <recovery dc> <Naming Context>
    

    如果下列所有語句都成立,則會使用還原和複寫已刪除的用戶帳戶來重建群組成員資格連結。 移至步驟 14。

    注意事項

    如果下列一或多個語句不正確,請移至步驟 12。

    • 您的樹系是在 Windows Server 2003 和更新版本的樹系功能等級執行,或是在 Windows Server 2003 和更新版本的過渡樹系功能等級執行。
    • 只會刪除使用者帳戶或計算機帳戶,而不會刪除安全組。
    • 在樹系轉換為 Windows Server 2003 和更新的樹系功能等級之後,已刪除的使用者已新增至樹系中所有網域的安全組。
  12. 判斷已刪除的使用者是哪些安全組的成員,然後將它們新增至這些群組。

    注意事項

    在您可以將使用者新增至群組之前,您在步驟 7 中驗證還原的使用者,以及您在步驟 11 中輸出複寫的使用者,必須已復寫到參考域控制器網域中的域控制器,以及樹系中的所有全域編錄域控制器。

    如果您已部署群組布建公用程式來重新填入安全組的成員資格,請使用該公用程式,將已刪除的使用者還原至其在刪除前屬於的安全組。 在樹系網域和全域編錄伺服器中的所有直接和可轉移域控制器都已輸入複寫驗證還原的使用者和任何還原的容器之後,請執行此動作。

    如果您沒有 公用程式, Ldifde.exeGroupadd.exe 命令行工具可以在復原域控制器上執行時,為您自動化這項工作。 這些工具可從 Microsoft 產品支援服務取得。 在此案例中,Ldifde.exe 會建立LDAP資料交換格式 (LDIF) 信息檔,其中包含用戶帳戶及其安全組的名稱。 它會從系統管理員指定的 OU 容器開始。 然後 Groupadd.exe 讀 memberOf 取 .ldf 檔案中所列每個用戶帳戶的 屬性。 然後,它會為樹系中的每個網域產生個別且唯一的 LDIF 資訊。 此 LDIF 資訊包含與已刪除使用者相關聯的安全組名稱。 使用 LDIF 資訊將資訊新增至使用者,以便還原其群組成員資格。 針對復原的這個階段,請遵循下列步驟:

    1. 使用屬於網域系統管理員安全組成員的用戶帳戶,登入復原域控制器的控制台。

    2. 使用 Ldifde 命令,從發生刪除的最上層 OU 容器開始,傾印先前已刪除使用者帳戶的名稱及其 memberOf 屬性。 Ldifde 命令會使用下列語法:

      ldifde -d <dn path of container that hosts deleted users> -r "(objectClass=user)" -l memberof -p subtree -f user_membership_after_restore.ldf
      

      如果已刪除的電腦帳戶已新增至安全組,請使用下列語法:

      ldifde -d <dn path of container that hosts deleted users> -r "(objectClass=computer)" -l memberof -p subtree -f computer_membership_after_restore.ldf
      
    3. Groupadd執行 命令以建置更多 .ldf 檔案,其中包含已刪除使用者所屬的網域名稱,以及全域和萬用安全組的名稱。 命令 Groupadd 會使用下列語法:

      Groupadd / after_restore users_membership_after_restore.ldf
      

      如果已刪除的電腦帳戶已新增至安全組,請重複此命令。

    4. 將您在步驟 12c 中建立的每個 Groupadd_fully.qualified.domain.name.ldf 檔案匯入至與每個網域的 .ldf 檔案對應的單一全域編錄域控制器。 使用下列 Ldifde 語法:

      Ldifde -i -k -f Groupadd_<fully.qualified.domain.name>.ldf
      

      針對復原域控制器以外的任何域控制器上刪除使用者的網域執行 .ldf 檔案。

    5. 在每個用來匯入特定網域之 Groupadd_<fully.qualified.domain.name.ldf> 檔案的域控制器控制臺上,輸出將群組成員資格新增至網域中的其他域控制器,以及樹系中的全域編錄域控制器。 若要這樣做,請使用下列命令:

      repadmin /syncall /d /e /P <recovery dc> <Naming Context>
      
  13. 若要停用輸出複寫,請輸入下列文字,然後按 ENTER:

    repadmin /options +DISABLE_OUTBOUND_REPL
    

    注意事項

    若要重新啟用輸出複寫,請輸入下列文字,然後按 ENTER:

    repadmin /options -DISABLE_OUTBOUND_REPL
    
  14. 如果已刪除的使用者新增至外部網域中的本機群組,請採取下列其中一個動作:

    • 手動將已刪除的使用者新增至這些群組。
    • 還原系統狀態並驗證還原每個包含已刪除使用者的本機安全組。
  15. 確認復原域控制器網域中的群組成員資格,以及其他網域中的全域編錄。

  16. 在復原域控制器的網域中建立域控制器的新系統狀態備份。

  17. 通知樹系中的所有樹系系統管理員、委派的系統管理員、樹系中的技術支援中心系統管理員,以及網域中的使用者,使用者還原已完成。

    技術支援中心系統管理員可能必須重設已還原驗證之使用者帳戶的密碼,以及在建立還原系統之後變更網域密碼的計算機帳戶。

    在進行系統狀態備份之後變更其密碼的用戶會發現其最新的密碼無法再運作。 如果這類使用者知道這些使用者,請嘗試使用先前的密碼登入。 否則,技術支援中心系統管理員必須重設密碼,然後選取 [用戶必須在下一次登入時變更密碼] 複 選框。 最好是在使用者所在相同 Active Directory 月臺的域控制器上執行此動作。

方法 3 - 以授權方式還原已刪除的使用者和已刪除使用者的安全組兩次

當您使用此方法時,您會執行下列高階步驟:

  1. 檢查使用者網域中的全域編錄是否尚未在刪除中複寫。 然後防止該域控制器輸入複寫刪除。 如果沒有潛在全域編錄,請在已刪除使用者的主域中找出全域編錄域控制器最新的系統狀態備份。
  2. 以授權方式還原已刪除使用者網域中所有已刪除的用戶帳戶和所有安全組。
  3. 等候還原的使用者和安全組的端對端復寫到已刪除使用者網域中的所有域控制器,以及樹系的全域編錄域控制器。
  4. 重複步驟 2 和 3,以授權方式還原已刪除的使用者和安全組。 (您只還原系統狀態一次。)
  5. 如果已刪除的使用者是其他網域中的安全組成員,請以授權方式還原已刪除的使用者是這些網域中成員的所有安全組。 或者,如果系統狀態備份是最新的,請以授權方式還原這些網域中的所有安全組。 若要滿足必須先還原已刪除的群組成員,安全組才能修正群組成員資格連結的需求,您可以在此方法中還原這兩個物件類型兩次。 第一次還原會備妥所有用戶帳戶和組帳戶。 第二次還原會還原已刪除的群組,並修復群組成員資格資訊,包括巢狀群組的成員資格資訊。

若要使用方法 3,請遵循下列程式:

  1. 檢查已刪除的使用者主域中是否存在全局編錄域控制器,而且在刪除的任何部分中都沒有複寫。

    注意事項

    專注於網域中複寫排程最不頻繁的全域編錄。 如果這些域控制器存在,請使用 Repadmin.exe 命令行工具立即停用輸入複寫。 如果要執行這項操作,請依照下列步驟執行:

    1. 選取 [開始],然後選取 [執行]
    2. 在 [開啟] 塊中輸入 cmd,然後選取 [確定]
    3. 在命令提示字元中輸入 repadmin /options <recovery dc name> +DISABLE_INBOUND_REPL ,然後按 ENTER 鍵。

    注意事項

    如果您無法立即發出 Repadmin 命令,請從域控制器移除所有網路連線,直到您可以使用 Repadmin 停用輸入複寫,然後立即傳回網路連線。

    此域控制器將稱為復原域控制器。

  2. 在完成所有復原步驟之前,請避免對下列專案進行新增、刪除和變更。 變更包括網域使用者、技術支援中心系統管理員和發生刪除之網域中的系統管理員重設密碼,以及已刪除使用者群組中的群組成員資格變更。

    1. 用戶帳戶和用戶帳戶上的屬性

    2. 計算機帳戶上的電腦帳戶和屬性

    3. 服務帳戶

    4. 安全性群組

      注意事項

      特別避免在發生刪除的樹系中變更使用者、計算機、群組和服務帳戶的群組成員資格。

    5. 通知樹系中暫時待命樹系中的所有樹系系統管理員、委派的系統管理員和技術支援中心系統管理員。 方法 2 中需要此獨立項目,因為您要以授權方式還原所有已刪除的使用者安全組。 因此,系統狀態備份日期之後對群組所做的任何變更都會遺失。

  3. 在發生刪除的網域中建立新的系統狀態備份。 如果您必須復原變更,可以使用此備份。

    注意事項

    如果您的系統狀態備份目前為刪除發生的時間,請略過此步驟並移至步驟 4。

    如果您在步驟 1 中識別出復原域控制器,請立即備份其系統狀態。

    如果位於發生刪除之網域中的所有全域編錄都復寫刪除,請在發生刪除的網域中備份全域編錄的系統狀態。

    當您建立備份時,可以讓復原域控制器回到其目前的狀態。 如果第一次嘗試失敗,請再次執行復原方案。

  4. 如果您在發生使用者刪除的網域中找不到潛在全域編錄域控制器,請尋找該網域中全域編錄域控制器的最新系統狀態備份。 此系統狀態備份應該包含已刪除的物件。 使用此域控制器作為復原域控制器。

    只有使用者網域中全域編錄域控制器的資料庫會包含樹系中外部網域的群組成員資格資訊。 如果刪除使用者的網域中沒有全域編錄域控制器的系統狀態備份,您就無法在還原的用戶帳戶上使用 memberOf 屬性來判斷全域或通用群組成員資格,或復原外部網域中的成員資格。 繼續執行下一步。 如果外部網域中有群組成員資格的外部記錄,請在還原用戶帳戶之後,將還原的使用者新增至這些網域中的安全組。

  5. 如果您知道離線系統管理員帳戶的密碼,請以 Disrepair 模式啟動復原域控制器。 如果您不知道離線系統管理員帳戶的密碼,請在復原域控制器仍處於一般 Active Directory 模式時重設密碼。

    您可以使用 setpwd 命令行工具,在執行 Windows 2000 SP2 和更新版本的域控制器處於在線 Active Directory 模式時重設密碼。

    注意事項

    Microsoft 不再支援 Windows 2000。

    Windows Server 2003 和更新版本域控制器的系統管理員可以使用 set dsrm password Ntdsutil 命令行工具中的 命令,重設離線系統管理員帳戶的密碼。

    如需如何重設目錄服務還原模式系統管理員帳戶的詳細資訊,請參閱 如何在 Windows Server 中重設目錄服務還原模式系統管理員帳戶密碼

  6. 在啟動程序期間按 F8,以 Disrepair 模式啟動復原域控制器。 使用離線系統管理員帳戶登入復原域控制器的控制台。 如果您在步驟 5 中重設密碼,請使用新的密碼。

    如果復原域控制器是潛在的全域編錄域控制器,請勿還原系統狀態。 直接移至步驟 7。

    如果您要使用系統狀態備份建立復原域控制器,請還原目前已在包含已刪除對象的復原域控制器上進行的系統狀態備份。

  7. 驗證還原已刪除的用戶帳戶、已刪除的電腦帳戶或已刪除的安全組。

    注意事項

    驗證還原 」和 「授權還 原」一詞指的是在 Ntdsutil 命令行工具中使用授權還原命令來遞增特定物件或特定容器及其所有附屬物件的版本號碼的程式。 一旦發生端對端復寫,復原域控制器的 Active Directory 本地副本中的目標物件就會在所有共用該分割區的域控制器上變成授權。 授權還原與系統狀態還原不同。 系統狀態還原會在進行系統狀態備份時,將已還原域控制器的 Active Directory 本地副本填入物件的版本。

    透過 Ntdsutil 命令行工具執行授權還原,方法是參考已刪除使用者的功能變數名稱 (dn) 路徑,或是裝載已刪除使用者的容器。

    當您驗證還原時,請使用網域樹狀結構中盡可能低的域名路徑。 其目的是要避免還原與刪除無關的物件。 這些物件可能包含在進行系統狀態備份之後修改的物件。

    以下欄順序驗證還原已刪除的使用者:

    1. 針對每個已刪除的使用者帳戶、計算機帳戶或已刪除的安全組,驗證 (dn) 路徑還原功能變數名稱。

      特定對象的授權還原需要較長的時間,但其破壞性比整個子樹的授權還原還原更短。 驗證會還原保存已刪除物件的最低通用父容器。

      Ntdsutil 使用下列語法:

      ntdsutil "authoritative restore" "restore object <object DN path>" q q
      

      例如,若要在網域的 Mayberry OU 中以權威方式還原已刪除的 Contoso.com 使用者 John Doe,請使用下列命令:

      ntdsutil "authoritative restore" "restore object cn=JohnDoe,ou=Mayberry,dc=contoso,dc=com" q q
      

      若要在網域的 Mayberry OU Contoso.com 中以授權方式還原已刪除的安全組 ContosoPrintAccess,請使用下列命令:

      ntdsutil "authoritative restore" "restore object cn=ContosoPrintAccess,ou=Mayberry,dc=contoso,dc=com" q q
      

      重要事項

      需要使用引號。

      使用此 Ntdsutil 格式,您也可以將批處理檔或腳本中許多對象的授權還原自動化。

      注意事項

      此語法僅適用於 Windows Server 2003 和更新版本。 Windows 2000 中唯一的語法是使用: ntdsutil "authoritative restore" "restore subtree object DN path"

    2. 驗證只會還原裝載已刪除用戶帳戶或群組的 OU 或 Common-Name (CN) 容器。

      當 Ntdsutil Authority restore 命令的目標 OU 包含您嘗試以授權方式還原的大部分物件時,整個子樹的授權還原是有效的。 在理想情況下,目標 OU 包含您嘗試以授權方式還原的所有物件。

      OU 子樹上的權威還原會還原容器中的所有屬性和物件。 在還原系統狀態備份之前所做的任何變更,都會在備份時回復為其值。 使用使用者帳戶、計算機帳戶和安全組時,此復原可能表示遺失密碼、主目錄、配置檔路徑、位置和連絡資訊、群組成員資格,以及這些對象和屬性上定義的任何安全描述符的最新變更。

      Ntdsutil 使用下列語法:

      ntdsutil "authoritative restore" "restore subtree <container DN path>" q q
      

      例如,若要以授權方式還原網域的 Contoso.comMayberry OU,請使用下列命令:

      ntdsutil "authoritative restore" "restore subtree ou=Mayberry,dc=contoso,dc=com" q q
      

      注意事項

      針對裝載已刪除使用者或群組的每個對等 OU 重複此步驟。

      重要事項

      當您還原 OU 的次級物件時,必須明確地還原已刪除之附屬物件的所有父容器。

  8. 在一般 Active Directory 模式中重新啟動復原域控制器。

  9. 將授權還原的物件從復原域控制器輸出複寫到網域和樹系中的域控制器。

    當復原域控制器的輸入複寫維持停用狀態時,請輸入下列命令,將授權還原的物件推送至網域中的所有跨網站複本域控制器,以及將物件推送至樹系中的全域編錄:

    repadmin /syncall /d /e /P <recovery dc> <Naming Context>
    

    在樹系網域和全域編錄伺服器中的所有直接和可轉移域控制器都已在授權還原的使用者和任何還原的容器中復寫之後,請移至步驟 11。

    如果下列所有語句都成立,則會透過還原已刪除的用戶帳戶來重建群組成員資格連結。 移至步驟 13。

    • 您的樹系是在 Windows Server 2003 和更新版本的樹系功能等級執行,或是在 Windows Server 2003 和更新的過渡樹系功能等級執行。
    • 只有安全組未刪除。
    • 所有已刪除的使用者都已新增至樹系中所有網域中的所有安全組。

    請考慮使用 Repadmin 命令,從還原的域控制器加速使用者的輸出複寫。

    如果群組也已刪除,或您無法保證在轉換至 Windows Server 2003 和更新版本的過渡或樹系功能等級之後,所有已刪除的使用者都已新增至所有安全組,請移至步驟 12。

  10. 重複步驟 7、8 和 9 而不還原系統狀態,然後移至步驟 11。

  11. 如果已刪除的使用者新增至外部網域中的本機群組,請採取下列其中一個動作:

    • 手動將已刪除的使用者新增至這些群組。
    • 還原系統狀態並驗證還原每個包含已刪除使用者的本機安全組。
  12. 確認復原域控制器網域中的群組成員資格,以及其他網域中的全域編錄。

  13. 使用下列命令來啟用復原域控制器的輸入複寫:

    repadmin /options recovery dc name -DISABLE_INBOUND_REPL
    
  14. 在復原域控制器的網域中建立域控制器的新系統狀態備份,並在樹系中的其他網域中進行全域編錄。

  15. 通知所有樹系系統管理員、委派的系統管理員、樹系中的技術支援中心系統管理員,以及網域中的使用者,使用者還原已完成。

    技術支援中心系統管理員可能必須重設已還原驗證用戶帳戶的密碼,以及其網域密碼在建立還原系統之後變更的計算機帳戶。

    在進行系統狀態備份之後變更其密碼的用戶會發現其最新的密碼無法再運作。 如果這類使用者知道這些使用者,請嘗試使用先前的密碼登入。 否則,技術支援中心系統管理員必須重設密碼, 用戶必須在核取的下一個登入 複選框變更密碼。 最好是在使用者所在相同 Active Directory 月臺的域控制器上執行此動作。

當您沒有有效的系統狀態備份時,如何復原域控制器上已刪除的使用者

如果您在已刪除使用者帳戶或安全組的網域中缺少目前的系統狀態備份,且刪除發生在包含 Windows Server 2003 和更新版本域控制器的網域中,請遵循下列步驟,從已刪除的物件容器手動重新建立已刪除的物件:

  1. 請遵循下一節中的步驟,重新建立已刪除的使用者、計算機、群組或所有使用者的動畫:
    如何在已刪除的物件容器中手動取消刪除物件
  2. 使用 Active Directory 使用者和電腦 將帳戶從停用變更為啟用。 (帳戶會出現在原始的 OU.)
  3. 使用 Windows Server 2003 和更新版本 Active Directory 使用者和電腦 中的大量重設功能,在下一次登入原則設定、主目錄、配置文件路徑上,以及視需要變更已刪除帳戶的群組成員資格時,都必須變更密碼的大量重設。 您也可以使用這些功能的程式設計對等專案。
  4. 如果使用 Microsoft Exchange 2000 或更新版本,請修復已刪除使用者的 Exchange 信箱。
  5. 如果使用 Exchange 2000 或更新版本,請將已刪除的使用者與 Exchange 信箱重新關聯。
  6. 確認復原的使用者可以登入並存取本機目錄、共享目錄和檔案。

您可以使用下列方法,將部分或所有復原步驟自動化:

  • 撰寫腳本,將步驟 1 中列出的手動復原步驟自動化。 當您撰寫這類腳本時,請考慮依日期、時間和最後一個已知父容器來界定已刪除的物件範圍,然後將已刪除物件的重新建立自動化。 若要將重新建立自動化,請將屬性從 TRUE 變更isDeletedFALSE並將相對辨別名稱變更為屬性中lastKnownParent或新 OU 中定義的值,或 (管理員指定的 CN) 容器的通用名稱。 (相對辨別名稱也稱為 RDN.)
  • 取得支援在 Windows Server 2003 和更新版本域控制器上重新建立已刪除物件之動畫的非 Microsoft 程式。 其中一個這類公用程式是 AdRestore。 AdRestore 會使用 Windows Server 2003 和更新版本取消刪除基本類型,個別取消刪除物件。 Aelita Software Corporation 和 Commvault Systems 也提供支援 Windows Server 2003 和更新版本域控制器上取消刪除功能的產品。

若要取得 AdRestore,請參閱 AdRestore v1.1

Microsoft 提供協力廠商的連絡資訊,協助您尋找技術支援。 此連絡資訊如有變更,恕不另行通知。 Microsoft 不保證此第三方聯繫人資訊的正確性。

如何在已刪除物件的容器中手動取消刪除物件

若要手動取消刪除已刪除物件容器中的物件,請遵循下列步驟:

  1. 取 [開始],選取 [ 執行],然後輸入 ldp.exe

    ldp.exe 可用:

    • 在已安裝域控制器角色的電腦上。
    • 在已安裝遠端伺服器管理工具 (RSAT) 的電腦上。
  2. 使用[連線 ] 功能表,在[Office] 中執行連線作業,並將作業系結至 Windows Server 2003 和更新版本的域控制器。

    在系結作業期間指定網域系統管理員認證。

  3. 在 [ 選項] 功能表上,選取 [ 控件]

  4. 在 [ 載入預先定義的 ] 清單中,選取 [ 傳回刪除的物件]

    注意事項

    1.2.840.113556.1.4.417 控件會移至 [作用中控件] 視窗。

  5. 在 [ 控制類型] 下,選取 [ 伺服器],然後選取 [ 確定]

  6. 在 [ 檢視] 功能表上,選取 [ 狀結構],在發生刪除的網域中輸入已刪除物件容器的辨別名稱路徑,然後選取 [ 確定]

    注意事項

    辨別名稱路徑也稱為 DN 路徑。 例如,如果刪除發生在網域中 contoso.com ,DN 路徑會是下列路徑:
    cn=deleted Objects,dc=contoso,dc=com

  7. 在視窗的左窗格中,按兩下 [ 刪除的物件容器]

    注意事項

    作為Idap查詢的搜尋結果,預設只會傳回1000個物件。 Fot 範例中,如果 [刪除的物件] 容器中存在超過 1000 個物件,則並非所有物件都會出現在此容器中。 如果您的目標物件未出現,請使用 ntdsutil,然後使用 maxpagesize 來取得搜尋結果 ,以設定最大數目。

  8. 按兩下您要取消刪除或重新建立動畫的物件。

  9. 以滑鼠右鍵按下您要重新建立動畫的物件,然後選取 [ 修改]

    在單一輕量型目錄存取通訊協定中變更屬性和 DN 路徑的值 isDeleted (LDAP) 修改作業。 若要設定 [ 修改 ] 對話框,請遵循下列步驟:

    1. 在 [ 編輯項目屬性] 方塊中 ,輸入 isDeleted。 將 [ 值] 方塊保留空白。

    2. 選取 [ 刪除 ] 選項按鈕,然後選取 [輸入 ] 以在 [ 項目清單 ] 對話框中成為兩個專案的第一個。

      重要事項

      請勿選取 [ 執行]

    3. 在 [ 屬性] 方塊 中,輸入 distinguishedName

    4. 在 [ 值] 方塊中,輸入重新建立動畫物件的新 DN 路徑。

      例如,若要將 JohnDoe 用戶帳戶重新建立為Mayberry OU,請使用下列 DN 路徑:cn= JohnDoe,ou= Mayberry,dc= contoso,dc= com

      注意事項

      如果您想要將已刪除的物件重新建立為其原始容器,請將已刪除物件的 lastKnownParent 屬性值附加至其 CN 值,然後在 [ ] 方塊中貼上完整的 DN 路徑。

    5. 在 [ 作業] 方塊中,選取 [取代]

    6. 取 ENTER

    7. 選取 [同步] 複 選框。

    8. 選取 [ 擴充] 複選框。

    9. 取 [執行]

  10. 重新建立對象的動畫之後 ,請選 取 [ 選項] 功能表上的 [控件],選取 [ 取出 ] 按鈕,從 [ 使用中控 件] 方塊清單中移除 (1.2.840.113556.1.4.417) 。

  11. 重設已刪除使用者的使用者帳戶密碼、配置檔、主目錄和群組成員資格。

    刪除物件時,會移除 、ObjectGUIDLastKnownParentSAMAccountName 以外的SID所有屬性值。

  12. 在 Active Directory 使用者和電腦 中啟用重新建立的帳戶。

    注意事項

    重新建立動畫的物件具有與刪除前相同的主要 SID,但必須再次將物件新增至相同的安全組,才能擁有相同層級的資源存取權。 第一版的 Windows Server 2003 和更新版本不會在重新建立動畫的使用者帳戶、計算機帳戶和安全組上保留 sIDHistory 屬性。 具有 Service Pack 1 的 Windows Server 2003 和更新版本會保留 sIDHistory 已刪除物件的 屬性。

  13. 拿掉 Microsoft Exchange 屬性,並將使用者重新連線到 Exchange 信箱。

    注意事項

    在 Windows Server 2003 和更新版本的域控制器上進行刪除時,支援重新建立已刪除對象的動畫。 在後續升級至 Windows Server 2003 和更新版本的 Windows 2000 域控制器上進行刪除時,不支援重新建立已刪除對象的動畫。

    注意事項

    如果刪除發生在網域中的 Windows 2000 域控制器上, lastParentOf 就不會在 Windows Server 2003 和更新版本的域控制器上填入 屬性。

如何判斷刪除發生的時間和位置

當使用者因為大量刪除而刪除時,您可能會想要瞭解刪除的來源。 若要這樣做,請遵循下列步驟:

  1. 若要尋找已刪除的安全性主體,請遵循 如何在已刪除物件的容器中手動取消刪除對象一節中的 步驟 1 到 7。 如果已刪除樹狀結構,請遵循下列步驟來尋找已刪除物件的父容器。

  2. 將屬性的 objectGUID 值複製到 Windows 剪貼簿。 當您在步驟 4 中輸入 命令時, Repadmin 可以貼上此值。

  3. 在命令列中,執行下列命令:

    repadmin /showmeta GUID=<objectGUID> <FQDN>
    

    例如,如果 objectGUID 已刪除物件或容器的 為 791273b2-eba7-4285-a117-aa804ea76e95,且 FQDN (完整功能變數名稱) 為 ,請 dc.contoso.com執行下列命令:

    repadmin /showmeta GUID=791273b2-eba7-4285-a117-aa804ea76e95 dc.contoso.com
    

    此命令的語法必須包含已刪除物件或容器的 GUID,以及您想要從中取得來源之伺服器的 FQDN。

  4. 在命令輸出中 Repadmin ,尋找 屬性的原始日期、時間和域控制器 isDeleted 。 例如,屬性的資訊 isDeleted 會出現在下列範例輸出的第五行:

    Loc.USN 原始 DC Org.USN Org.Time/Date Ver 屬性
    134759 Default-First-Site-Name\NA-DC1 134759 DateTime 1 objectClass
    134760 Default-First-Site-Name\NA-DC1 134760 DateTime 2 ou
    134759 Default-First-Site-Name\NA-DC1 134759 DateTime 1 instanceType
    134759 Default-First-Site-Name\NA-DC1 134759 DateTime 1 whenCreated
    134760 Default-First-Site-Name\NA-DC1 134760 DateTime 1 isDeleted
    134759 Default-First-Site-Name\NA-DC1 134759 DateTime 1 nTSecurityDescriptor
    134760 Default-First-Site-Name\NA-DC1 134760 DateTime 2 name
    134760 Default-First-Site-Name\NA-DC1 134760 DateTime 1 lastKnownParent
    134760 Default-First-Site-Name\NA-DC1 134760 DateTime 2 objectCategory
  5. 如果原始域控制器的名稱顯示為 32 個字元的英數位 GUID,請使用 Ping 命令將 GUID 解析為 IP 位址,以及產生刪除的域控制器名稱。 Ping 命令會使用下列語法:

    ping -a <originating DC GUID>._msdomain controllers.<fully qualified path for forest root domain>
    

    注意事項

    -a 選項會區分大小寫。 不論原始域控制器所在的網域為何,都使用樹系根域的完整域名。

    例如,如果原始域控制器位於樹系中的任何網域, Contoso.com 且 GUID 為 644eb7e7-1566-4f29-a778-4b487637564b,請執行下列命令:

    ping -a 644eb7e7-1566-4f29-a778-4b487637564b._msdomain controllers.contoso.com
    

    這個指令所傳回的輸出類似下列輸出:

    Pinging na-dc1.contoso.com [65.53.65.101] with 32 bytes of data:
    
    Reply from 65.53.65.101: bytes=32 time<1ms TTL=128
    Reply from 65.53.65.101: bytes=32 time<1ms TTL=128
    Reply from 65.53.65.101: bytes=32 time<1ms TTL=128
    Reply from 65.53.65.101: bytes=32 time<1ms TTL=128
    

如何在未來將大量刪除的影響降到最低

將大量刪除使用者、電腦和安全組的影響降至最低的索引鍵如下:

  • 請確定您有最新的系統狀態備份。
  • 嚴格控制對特殊許可權用戶帳戶的存取。
  • 嚴格控制這些帳戶可以執行的動作。
  • 練習從大量刪除復原。

系統狀態變更每天都會發生。 這些變更可能包括:

  • 用戶帳戶和電腦帳戶上的密碼重設
  • 群組成員資格變更
  • 用戶帳戶、計算機帳戶和安全組上的其他屬性變更。

如果您的硬體或軟體失敗,或您的網站遇到另一個災害,您會想要還原在樹系中每個 Active Directory 網域和站台中每一組重大變更之後所做的備份。 如果您未維護目前的備份,您可能會遺失數據,或可能需要復原還原的物件。

Microsoft 建議您採取下列步驟來防止大量刪除:

  1. 請勿共用內建系統管理員帳戶的密碼,或允許共用一般系統管理用戶帳戶。 如果已知內建系統管理員帳戶的密碼,請變更密碼,並定義不建議其使用的內部程式。 共享用戶帳戶的稽核事件,使得您無法判斷在 Active Directory 中進行變更之使用者的身分識別。 因此,必須不建議使用共用用戶帳戶。

  2. 用戶帳戶、計算機帳戶和安全組很少會遭到刻意刪除。 樹狀結構刪除尤其如此。 解除服務和委派系統管理員刪除這些物件的能力,使其無法建立和管理用戶帳戶、計算機帳戶、安全組、OU 容器及其屬性。 只授與最具許可權的用戶帳戶或安全組執行樹狀刪除的許可權。 這些特殊許可權的用戶帳戶可能包含企業系統管理員。

  3. 只將委派的系統管理員存取權授與允許這些系統管理員管理的物件類別。 例如,技術支援中心系統管理員的主要工作是修改用戶帳戶上的屬性。 他無權建立和刪除計算機帳戶、安全組或 OU 容器。 此限制也適用於刪除其他特定物件類別之系統管理員的許可權。

  4. 實驗稽核設定以追蹤實驗室網域中的刪除作業。 熟悉結果之後,請將最佳解決方案套用至生產領域。

  5. 裝載數萬個物件之容器上的大量訪問控制和稽核變更,可能會使 Active Directory 資料庫大幅成長,特別是在 Windows 2000 網域中。 使用鏡像生產網域的測試網域來評估可用磁碟空間的潛在變更。 檢查裝載 Ntds.dit 檔案的硬碟磁碟區,以及生產網域中域控制器的記錄檔,以取得可用磁碟空間。 避免在域網路控制器標頭上設定訪問控制和稽核變更。 進行這些變更不需要套用至分割區中所有容器中所有類別的所有物件。 例如,避免在網域分割的 CN=SYSTEM 資料夾中變更功能變數名稱系統 (DNS) 和分散式連結追蹤 (DLT) 記錄註冊。

  6. 在自己的組織單位中,使用最佳做法 OU 結構來分隔用戶帳戶、計算機帳戶、安全組和服務帳戶。 當您使用此結構時,您可以將任意存取控制清單 (DACL) 套用至單一類別的物件,以進行委派的管理。 而且,如果對象必須還原,則可以根據物件類別還原物件。 下列文章的 建立組織單位設計一 節會討論最佳做法 OU 結構:
    管理 Windows 網路的最佳做法 Active Directory 設計

  7. 在會鏡像生產環境的實驗室環境中測試大量刪除。 選擇對您有意義的復原方法,然後將它自定義給您的組織。 您可能要識別:

    • 定期備份之每個網域中的域控制器名稱
    • 備份映像的儲存位置
      在理想情況下,這些映像會儲存在樹系中每個網域中全域編錄的本機額外硬碟上。
    • 要連絡的技術支援中心組織成員
    • 建立該聯繫人的最佳方式
  8. 大部分大量刪除用戶帳戶、計算機帳戶,以及 Microsoft 所看到的安全組都是意外的。 與您的IT人員討論此案例,並開發內部行動計畫。 專注於早期偵測。 並儘快將功能傳回給您的網域用戶和企業。 您也可以編輯訪問控制清單, (組織單位的 ACL) ,以採取步驟來防止意外大量刪除。

    如需如何使用 Windows 介面工具來防止意外大量刪除的詳細資訊,請參閱 在 Active Directory 中防範意外大量刪除

可協助您從大量刪除復原的工具和腳本

Groupadd.exe 命令行公用程式會讀取 memberOf OU 中使用者集合上的 屬性,並建置 .ldf 檔案,將每個還原的使用者帳戶新增至樹系中每個網域中的安全組。

Groupadd.exe 會自動探索已刪除使用者為其成員的網域和安全組,並將其新增至這些群組。 此程式會在方法 1 的步驟 11 中詳細說明。

Groupadd.exe 在 Windows Server 2003 和更新版本的域控制器上執行。

Groupadd.exe 使用下列語法:

groupadd / after_restore ldf_file [/ before_restore ldf_file ]

在這裡, ldf_file 代表要與上一個自變數搭配使用的 .ldf 檔案名稱、 after_restore 代表使用者檔案數據源,以及 before_restore 代表生產環境中的用戶數據。 (使用者檔案數據源是良好的用戶數據。)

若要取得 Groupadd.exe,請連絡 Microsoft 產品支援服務。

本文提及的協力廠商產品是由與 Microsoft 無關的獨立廠商所製造。 Microsoft 不以默示或其他方式,提供與這些產品的效能或可靠性有關的擔保。

參考

如需如何使用 Windows Server 2008 R2 中所含 AD 回收站功能的詳細資訊,請參閱 Active Directory 回收站逐步指南