如何恢復已刪除的 Active Directory 物件:終極指南
作為一個全球驗證目錄服務,提供IT基礎設施資源的集中管理,Active Directory(AD)是最關鍵的業務應用之一。這意味著在中斷期間快速復原至關重要,以減少服務停機時間。AD通常包含大量以層次結構組織的物件,其中一些物件依賴於其他物件。復原過程可能需要時間,因為需要復原複雜的層次結構並手動重新創建某些數據。本博文解釋了如何復原已刪除的Active Directory物件。
Active Directory物件復原基礎
您可以使用集成的Windows Server備份工具或其他支持的第三方工具開始AD復原過程。Active Directory提供兩種主要的復原方法:
Non-Authoritative Recovery是預設方法來復原Active Directory。此方法只是將域恢復到備份製作時的狀態,並允許常規複寫覆蓋之後所做的任何物件和儲存器變更。Authoritative Recovery包括兩個部分:從備份的非授權復原,接下來是有授權的復原。主要區別在於這種方法能對整個目錄中的物件及其屬性進行有授權的更改。這類復原會影響電腦帳戶、信任和群組成員資格。
選擇正確的AD復原方法時,請考慮以下因素:
The cause of the failure:是因為意外或惡意刪除或修改物件,導致此修改複製到所有域控制器或整個虛擬機器整體故障?如果是刪除/修改,您需要執行有授權的復原。Roles and functions的已失敗Active Directory伺服器。
用於還原已刪除AD物件的原生工具
已刪除的AD物件並不總是顯示在 Active Directory用戶和電腦 嵌入式工具中。您可以使用專用工具查看 Deleted Objects 儲存器中的已刪除AD物件並復原它們。
有兩種方法可以通過使用原生Microsoft工具,包括Windows Server中的內建工具,來在Active Directory(AD)中復原已刪除的物件:是否使用Active Directory回收站與否。這兩種方法之間有很大差別。
在沒有 AD 回收站的情況下進行恢復
當 AD Recycle Bin is disabled,刪除和恢復 AD 物件的過程如下所示:
- 當物件被刪除時,該物件成為墓碑物件。
- 墓碑物件儲存在 已刪除物件儲存器 中,時間由當前域的
tombstoneLifetime確定。大多數屬性會在物件成為墓碑物件後丟失,這也被稱為已刪除物件。 - 在墓碑生命期內,您可以恢復 AD 物件,但不會有額外的屬性資訊記錄。
- 當墓碑生命期過期後,物件將被物理刪除且無法復原。
下圖顯示了 Active Directory 物件生命週期,說明如何在沒有 AD 回收站的情況下恢復 AD 物件。
從 AD 回收站進行恢復
當您 turn on Active Directory Recycle Bin 時,情況會有所改變:
- 當 AD 物件被刪除時,物件狀態會變更為“邏輯刪除”狀態。在 已刪除物件生命週期 屬性 ( msDS-deletedObjectLifetime ) 設定的時間內,物件的屬性會被保留,預設等於 回收物件生命週期 期間 (180 天)。在此期間,您可以恢復 Active Directory 中被刪除的物件。
- isDeleted 屬性設為 True 。 isRecycled 屬性設為 False 。
- 在 已刪除物件生命週期 期間過期後,物件狀態會從 “邏輯刪除” 變更為 “回收物件”。當 AD 回收站被停用時,回收物件類似於墓碑物件。
- 當 回收物件生命週期 設定在 墓碑生命週期 屬性中的時期過期後,此回收物件仍位於 已刪除物件儲存器 中。預設情況下,此期間為 180 天。 isRecycled 屬性設為 True 。大多數仍在邏輯刪除狀態中保留的物件屬性將被刪除。
- 當 回收物件生命週期 ( 墓碑生命週期 ) 過期時,Active Directory 的垃圾收集機制將完全清除回收物件,物件將被物理刪除。 現在已無法還原物件。
Active Directory 回收站:您需要了解的內容
Active Directory 回收站最初於 Windows Server 2008 R2 中推出,當時僅限於在 PowerShell 中使用。自 Windows Server 2012 起,AD 回收站才提供圖形使用者介面 (GUI)。預設情況下,AD 回收站是停用的。
啟用 AD 回收筒前請注意以下事項:
- 一旦啟用 Active Directory 回收筒,網域森林中的所有墳碑記錄都將被刪除。這意味著,若您先刪除 Active Directory 物件,然後才啟用 AD 回收筒,將無法還原這些物件。 若要復原已刪除的 Active Directory 物件,請先採用其他不依賴回收筒的方法進行復原,之後再啟用回收筒。
- 啟用 AD 回收筒後,您可還原在啟用 AD 回收筒之後所刪除的 AD 物件。請在刪除 AD 物件之前啟用 AD 回收筒。
before - 一旦啟用 AD 回收筒,便無法再停用。此設定不可逆。 備份您的 AD 網域控制器 若不確定是否需要永久啟用此特點,請在啟用 AD 回收箱之前謹慎考量。
- 啟用 AD 回收箱會變更 Active Directory 架構。
- 由於物件在狀態變更後,其屬性會暫時保留在 Active Directory 中,因此 Active Directory 的大小會隨之增加。
如何使用原生工具還原已刪除的 AD 物件
我們將刪除 Active Directory 中的物件,然後說明如何在啟用與未啟用 AD 回收箱的情況下還原這些物件。 我們將介紹 4 種原生方法:
- 範例 1:使用 PowerShell
- 範例 2:使用 ADRestore
- 範例 3:使用 Ldp.exe
- 範例 4:從 AD 回收站還原
前三個範例均涉及在不使用 AD 回收的情況下還原 AD 物件。在第四個範例中,我們應啟用 Active Directory 回收站,刪除一些物件,然後將其還原。
The environment used in the examples:
- 一台運行於 Windows Server 2019 上的網域控制器,且為該網域林中唯一的網域控制器。
- 網域名稱為 ID.TEST
- 我們有多位使用者 – user1 、 user2 、 user3 等。 在這個AD域中,屬於組A的成員。
請注意,下面解釋的本機方法無需關閉域控制器並將其離線以恢復刪除的AD用戶。
範例1:使用PowerShell恢復AD物件(Restore-ADObject)
讓我們在Active Directory中刪除用戶1,然後嘗試恢復用戶1物件。我們在域控制器上執行這些操作。
請執行以下步驟以恢復已刪除的AD用戶:
- 使用管理權限(提升的PowerShell)打開PowerShell。
- 已刪除的物件位於DeletedObjects容器中,並具有isDeleted標誌。使用命令查看已刪除的AD物件:
Get-ADObject -IncludeDeletedObjects -Filter {IsDeleted -eq $true}
- 要恢復一個物件,我們應該從該物件中移除isDeleted標誌。我們需要恢復用戶1。輸入命令來顯示名稱以用戶開頭的所有物件。出於這個目的,我們將這些選項添加到篩選器中:{Isdeleted -eq $true -and Name -like “
user*“}
以下命令對於顯示其他用戶如用戶2、用戶3等也是正確的,如果它們已被刪除:
Get-ADObject -IncludeDeletedObjects -Filter {Isdeleted -eq $true -and Name -like "user*"}
- 注意ObjectGUID或DistinguishedName以獲取所需的物件。我們在這種情況下為用戶1使用ObjectGUID:
4c723d90-5a05-47c3-9482-c05dc3c6201c
- 要恢復已刪除的物件,運行如下命令:
Restore-ADObject -Identity "GUID or DistingushedName here" -NewName "new_restore_name"
在我們的情況下:
Restore-ADObject -Identity "4c723d90-5a05-47c3-9482-c05dc3c6201c" -NewName "user1-restored"
- 可選地,您可以定義一個替代位置,使用
-TargetPath鍵並將一個標識名(DN)設置到新位置,例如:
CN=Users,DC=domain,DC=net
運行命令並恢復Active Directory物件後,我們在用戶中看不到用戶目錄和組A中之前的用戶。
這是因為刪除Active Directory物件而不使用AD回收站後,幾乎所有的物件屬性都丟失了,即使物件本身已被恢復。
我們可以在 網域用戶 群組中找到已恢復的AD物件用戶1-已恢復。用戶登錄名僅以Windows 2000以前的格式保存。 使用者1 恢復 的帳戶目前在停用狀態。要點是原始 SID 被保留住,並且與此使用者相關聯的檔案和資料夾的任何 NTFS 權限仍然有效。
注意: 如果您是創建一個新的 AD 物件而不是從墓碑中恢復已刪除的物件,則會分配新值給 objectGUID 和 objectSID 屬性,並且需要更新對該物件的引用。
我們需要編輯登入名稱,啟用該帳戶,更新密碼,並將此使用者新增到 群組-A 。有很多手動工作要做,以正確恢復所有屬性和成員資格。
範例 2:使用 ADRestore 來恢復刪除的 AD 使用者
在我們的第二個例子中,Active Directory 回收筒仍然停用。
使用者2 ,是一個 群組-A 的成員,被刪除。
我們將使用免費的 ADRestore 工具來恢復 Active Directory 中已刪除的物件。這個工具可以在 Microsoft 網站上獲取:
https://docs.microsoft.com/en-us/sysinternals/downloads/adrestore
- 下載工具並從 zip 檔案中提取內容到特定資料夾,例如 C:programsadrestore
- 使用 PowerShell 將目錄切換到該目錄:
cd c:programsadrestore
以系統管理員身份執行 PowerShell:
- 在提升權限的 PowerShell 中指定精確的使用者名稱來檢視刪除的 使用者2 的資訊:
Get-ADObject -Filter 'SAMAccountName -eq "user2"' -IncludeDeletedObjects
Deleted: True 確認此使用者已被刪除.
CN=Deleted Objects 表示該物件(使用者帳戶)已移動到 已刪除物件 的儲存器中.
- 注意 user2 的 ObjectGUID :
c6c121a3-d664-4d71-a6ef-9ad26b833fe6
- 輸入命令與
adrestore一起,指定所需使用者的 ObjectGUID 以恢復該物件:
.adrestore -r c6c121a3-d664-4d71-a6ef-9ad26b833fe6
鍵入 y 並按下 Enter 來確認並繼續。
- 一旦已刪除的物件 ( 使用者2 ) 已被恢復,請檢查此使用者在 Active Directory 使用者與電腦 視窗中。
結果類似於第一個範例。 使用者2 被恢復,但沒有其他資料,如屬性和群組成員身份。
範例 3:
使用 Ldp.exe 還原已刪除的 AD 使用者
本教學中還原已刪除 AD 使用者 3 ldp.exe 的第三種方法無需使用 AD 資源回收筒。在此方法中,我們使用一款免費的
- LDAP 工具。
-
Start > Run點擊Win+R(或按下 -
ldp在 執行 提示視窗中輸入Enter,然後按下
Ldp 工具是 Microsoft 的原生工具,隨 Windows Server 2008、2012 等 Windows Server 作業系統一併提供。此工具是一款輕量級的 LDAP 客戶端,具備 Windows 檔案總管風格的圖形使用者介面 (GUI),可讓您檢視和編輯 Active Directory 項目。
)。
。
-
Connection > Connect在 Ldp 主視窗中點擊
。
- 在 連線
視窗中設定所需參數。
Server: 輸入您的 AD DC 伺服器的 IP 位址或名稱。
Port: 預設使用 389 或 636。
-
Connection > Bind在 Ldp 主視窗中點擊
。
鑑於我們是以網域管理員身分登入網域控制器,因此選擇第一個選項:
-
Bind as currently logged on user
。
您也可以使用第二個選項( Bind with credentials ),並設定使用者名稱、密碼以及要連線的網域。
-
Options > Controls在 Ldp 主視窗中點擊
。
在以管理員身分執行的 PowerShell 中,您可以執行命令以檢視已刪除使用者的相關資訊。
Get-ADObject -Filter 'SAMAccountName -eq "user3"' -IncludeDeletedObjects
user3 的 objectGUI 為:
17ede5dc-b527-4ae4-ba5b-3ed50855be80
Return deleted objects 在 “控制項” 視窗的 “載入預定義” 下拉式選單中,選擇 。按下 OK。
- 在 Ldp 主視窗中點選
View > Tree。
輸入 BaseDN 。我們的網域名稱是 ID.TEST ,而我們的 BaseDN 是 DC=ID,DC=TEST
。按下 OK 繼續。
- 在樹狀結構中導航至您需要還原的已刪除物件(本例中, user3 即為我們欲從 AD 回收站還原的物件)。展開一個網域,並展開 已刪除物件 容器。
注意事項: 你可以在窗口的右側窗格中查看執行操作的結果。
- 右鍵單擊物件 (在這裡是 user3 ) 並在上下文菜單中單擊
Modify。
- DN 已自動選擇。
在 isDeleted 編輯條目屬性 欄中輸入 。
在 Delete 操作 選項中選擇 。
在此窗口點擊 Enter 按鈕。
- 在
distinguishedName值 欄中輸入 。
進入復原物件的數值,例如:CN=user3,OU=Users,DC=ID,DC=test
你可以輸入值來自定義 DN 位置以進行復原。
選擇 Replace 操作。
在此 Enter 修改 界面中點擊 按鈕。
選中 Synchronous 和 Extended 复選框。然後點擊 Run 。
在使用 Ldp(LDAP)工具的方法將 AD 物件復原到所選位置後,附加數據與屬性(如密碼、群組成員資格等)不會被復原。需要手動配置這些參數。
總體結果與不使用 AD 回收站的其他兩種方法相似。
讓我們啟用 Active Directory 回收站,並查看在 Active Directory 中復原已刪除物件時的不同結果。
例 4:如何從 Active Directory 回收站復原
在我們進行復原之前,讓我們看看如何啟用 AD 回收站。
如何啟用 Active Directory 回收站
建議你在啟用 AD 回收站前將 備份您的 Active Directory 域控制器,這樣可以在需要時回滾到停用 AD 回收站的狀態及現有墓碑。
運行命令檢查 Active Directory 回收站是否已啟用:
Get-ADOptionalFeature "Recycle Bin Feature" | select-object name,EnabledScopes
如果你在輸出中看到空括號 {},則 AD 回收站已停用。
啟用 AD 回收站的需求如下:
- 您必須以企業管理員或架構管理員組成的成員身分登入至 Windows 伺服器。
- 要啟用 Active Directory 回收站,樹系功能層次必須是 Windows Server 2008 或更高版本。
啟用 AD 回收站有兩種主要方法:在 PowerShell 和在伺服器管理員中。
1. Enabling AD Recycle Bin in PowerShell
在提升權限的 PowerShell 中執行以下命令以開啟 Active Directory 回收站:
Import-Module ActiveDirectory
一般來說,啟用 AD 回收站的命令如下:
Enable-ADOptionalFeature 'Recycle Bin Feature' -Scope ForestOrConfigurationSet -Target <your forest root domain name>
在我們的案例中,指定了我們網域名稱的準確命令如下:
Enable-ADOptionalFeature -Identity 'CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=ConfigurationDC=id,DC=test' -Scope ForestOrConfigurationSet -Target 'id.test' 在我們的例子中,輸入您網域的名稱以代替 id.test。
2. Enabling AD Recycle Bin in Server Manager
- 開啟伺服器管理員。點擊
Start,輸入server manager,或按下Win+R。在 簡訊 視窗中,輸入dsac.exe並按Enter。 - 在
Tools > Active Directory Administrative Center伺服器管理員 視窗中,前往 。
- 在左窗格中選擇您的樹系根網域。在我們的情況中,我們選擇
ID (local)。 - 在右窗格中點擊
Enable Recycle Bin。
- 閱讀警告並在
OK啟用回收站確認 視窗中點擊 繼續。
- 您需要刷新 Active Directory 管理中心窗口。點擊管理中心窗口右上角的
Refresh按鈕。 - 之後,
Enable Recycle Bin選項變成灰色(無法使用)。 - 當您點擊您的網域來展開內容時,
Deleted Objects容器會在菜單中出現。
- 通過在 PowerShell 中運行命令來確保已啟用 Active Directory 回收站:
Get-ADOptionalFeature "Recycle Bin Feature" | select-object name,EnabledScopes
要查看更多特點信息,使用此命令:
Get-ADOptionalFeature -filter *
從 Active Directory 回收站還原用戶
讓我們刪除 用戶4 ,這是我們 id.test 網域中 組A 的成員,就像我們以前對其他用戶所做的示例一樣。
在 Server Manager > Active Directory Administrative Center 中打開 AD 回收站並選擇一個已刪除的用戶。我們要從 Active Directory 回收站還原的對象是 用戶4 。
對於回收站中的已刪除 Active Directory 對象,有四個主要選項:
Restore– 將已刪除的 AD 物件還原至原始組織單位Restore To– 選擇另一個組織單位作為還原已刪除 AD 物件的目的地Locate Parent– 開啟原始組織單位(該單位曾儲存已刪除的物件)Properties– 檢視已刪除物件的某些屬性,例如 建立時間 , 修改時間 , 規範名稱 , 物件類別 或 更新序列號
若要將使用者還原至原始位置,請點擊 Restore (位於視窗左側的選單中)。
User4 已作為 Active Directory 物件還原至相同位置,並保留所有相關資料與屬性。群組成員資格亦已保留,且 user4 在還原後仍是 Group-A 的成員。
在 PowerShell 中從 Active Directory 回收站還原已刪除 AD 使用者的指令如下:
Get-ADObject -Filter {displayName -eq "user4"} -IncludeDeletedObjects | Restore-ADObject
請將 user4 替換為您伺服器上要還原的物件。
因此,若未執行 Active Directory 備份,Active Directory 回收站便相當實用。
如何變更 AD 回收站的保留時間
您可變更某些 Active Directory 回收站設定,以延長在 Active Directory 中還原已刪除物件的時間。 我們將說明如何變更以下兩項設定:
- 墓碑存留時間 ( tombstoneLifetime )
- 已刪除物件存留時間 ( msDS-DeletedObjectLifetime )
注意: 增加這兩個參數的值可能會影響 Active Directory 的效能。
如何在 PowerShell 中檢查當前的墓碑存留時間
請在提升權限的 PowerShell 中執行以下這組指令,以檢視當前的墓碑存留時間:
Import-Module ActiveDirectory
$ADForestconfigurationNamingContext = (Get-ADRootDSE).configurationNamingContext
$DirectoryServicesConfigPartition = Get-ADObject -Identity "CN=Directory Service,CN=Windows NT,CN=Services,$ADForestconfigurationNamingContext" -Partition $ADForestconfigurationNamingContext -Properties *
$TombstoneLifetime = $DirectoryServicesConfigPartition.tombstoneLifetime
Write-Output "Active Directory’s Tombstone Lifetime is set to $TombstoneLifetime days `r "
- 開啟 ADSI Edit 此工具是 Windows Server 2019 中預先安裝的標準工具。
您可以在
“C:ProgramDataMicrosoftWindowsStart MenuProgramsAdministrative Tools“
中找到此工具,或透過以下路徑:
%SystemRoot%system32adsiedit.msc
您可以按一下 Start 並輸入 ASDI Edit 來快速執行此工具。
- 在視窗中右鍵點擊
ADSI Edit,然後在快顯選單中點選Connect to。
- 在 “連線設定” 視窗中,設定以下參數:
- 名稱:
Configuration - 連接點 :
Select a well known Naming Context>Configuration - 電腦:
Default
按 OK 應用這些設定。
- 帶有 Active Directory 組態參數的樹現在顯示在 ADSI 編輯 工具的主窗口中。
- 移動到
Configuration > CN=Configuration > CN=Services > CN=Windows NT > CN=Directory Service - 右鍵點擊
CN=Directory Service並在上下文菜單中點擊Properties。
- 向下滾動屬性列表並找出
tombstoneLifetime。如我們之前所查,默認值為180天。 - 雙擊
tombstoneLifetime編輯已設置的值。
- 輸入新值,例如,
365並按OK以儲存設置。
注意: 如果您將值設置為空 <not set>,則墓碑壽命會自動設置為 60 天,因為此期間已在系統設定中固定為空值。
- 新的值已設置。
- 點擊
OK保存設定並關閉Properties窗口。
您可以通過使用上述命令集在 PowerShell 中確認值已設置。
如何在 PowerShell 中編輯墓碑壽命
以管理員身份打開 PowerShell。
運行一組命令以在提升的 PowerShell 中設置新的墓碑壽命值:
Import-Module ActiveDirectory
$ADForestconfigurationNamingContext = (Get-ADRootDSE).configurationNamingContext
Set-ADObject -Identity "CN=Directory Service,CN=Windows NT,CN=Services,$ADForestconfigurationNamingContext" -Partition $ADForestconfigurationNamingContext -Replace @{tombstonelifetime='366'}
通過使用上一節中說明的適當命令集檢查更新的墓碑壽命。
如何更改刪除物件生存期
msDS-deletedObjectLifetime 屬性決定了刪除物件的生存期。您可以使用 ASDI 編輯 工具來編輯參數,就像我們編輯墓碑壽命參數一樣。
移動至:
Configuration > CN=Configuration,DC=ID,DC=TEST > CN=Services > CN = Windows NT > CN=Directory Service
在 CN=Directory Service 中,找到 msDS-deletedObjectLifetime 屬性並編輯值。默認情況下,值被設為空 <not set>。這意味著刪除物件的生存期等同於墓碑壽命。
您可以設置的最小值是 2(即 2 天)。
原生 AD 恢復工具的限制
讓我們總結一下使用原生 AD 恢復工具和方法的限制:
- 涉及大量手工操作,例如運行命令或在提供的可用工具的 GUI 中配置所需的參數。
- 搜索和復原過程可能耗時。
- 恢復後用戶密碼不會保留。您需要為每個用戶重置密碼。
- 您需要手動添加某些對象或屬性到恢復的對象中。
- 活動目錄回收站改善了 AD 對象的還原過程,並可以還原大多數對象屬性。但是,如果對象刪除前未啟用此特點,則無法幫助。
- 當您開啟活動目錄回收站時,目錄資訊樹 (DIT) 的大小會增加。
- 如果從刪除之日起過了一段時間超過墓碑壽命,不能恢復已刪除的活動目錄對象。
幸運的是,您可以使用活動目錄備份繞過 AD 回收站的時間限制。
從備份中還原 AD 對象
從備份中還原已刪除的活動目錄對象是最可靠的方法,無論 AD 回收站是否已啟用,您都可以復原已刪除的 AD 對象。備份方法包括備份活動目錄或運行在物理伺服器或虛擬機器上的整個域控制器。
我們將說明如何使用通用資料保護解決方案 NAKIVO Backup & Replication 從備份中復原已刪除的活動目錄對象:
- 我們已經運行了一個活動目錄域控制器的備份。在我們的例子中,域控制器安裝在 VMware vSphere 中的虛擬機器 (VM) 上,我們備份了整個 VM。
- 作業系統是 Windows Server 2019,就像本文中前面的例子一樣。
- 網域名稱在本例中是 domain1.local ,但其餘的域設置與之前的相同。
需求
您為將被刪除的 AD 對象恢復到的伺服器準備的需求是:
- 必須安裝 Visual C++ Redistributable for Visual Studio 2015。 vc_redist.x86.exe (v.2015) 安裝程式可以在Microsoft網站上取得。
- 必須啟動iSCSI啟動器服務。
- 必須開放連接埠TCP 5000。
- 必須安裝適用於PowerShell的Active Directory模組。
刪除AD物件
讓我們刪除我域中的組織單元 單位1 ,即域 domain1.local 。組織單元包含三個用戶: 用戶1 , 用戶2 和 用戶3 。
從備份中還原已刪除的AD物件
開啟NAKIVO備份解決方案的網絡界面。選擇包含Active Directory域控制器備份的VMware vSphere VM備份工作。
按一下Recover > Microsoft Active Directory objects。
Backup。從選定的備份中選擇需要的虛擬機器,然後選擇復原點。在本例中,備份包含一個具有AD伺服器的虛擬機器(該虛擬機器的名稱為 Blog-Win19-DC ),我們選擇最新的復原點。
在每個步驟按 Next 以繼續。
Recovery Server。選擇復原伺服器設定:
Recovery Server:選擇一個復原伺服器作為恢復目的地,以還原已刪除的AD物件。我們將這些物件復原到相同的虛擬機器。您可以擴展列表並從清單中選擇伺服器或虛擬機器。Server hostname or IP:輸入選定的虛擬機器或伺服器的主機名稱或IP位址。Username:輸入具有適當網域權限的域管理員或其他用戶的用戶名稱。在我們的例子中,用戶名是 domain1administratorPassword:輸入已定義用戶的密碼。
按一下 Test Connection。如果您已通過測試,請按一下 Next。
注意: 確保iSCSI啟動器服務在目標Windows伺服器上正在運行(即您要恢復AD物件的地方)。否則,您將收到錯誤訊息:“iSCSI啟動器”服務未在復原伺服器上運行。在此情況下,連接測試將失敗。
您可以在計算機管理視窗中啟動Microsoft iSCSI啟動器服務 (Computer Management > Services and Applications > Services)。
作為替代方案,您可以在 PowerShell 中啟動服務:
- 檢查 iSCSI initiator 服務的狀態:
Get-Service -Name MSiSCSI
- 啟動 iSCSI 服務:
Start-Service msiscsi
- 設置服務啟動類型為自動:
Set-Service -Name MSiSCSI -StartupType Automatic
- 檢查 iSCSI initiator 服務是否已啟動:
Get-Service -Name MSiSCSI
Objects. 選擇要還原的 AD 物件。可以同時恢復多個物件並達到高度自動化。我們要恢復已刪除的 AD 帳戶。
注意: 如果 iSCSI 服務未啟動,您可能會看到 無法加載恢復點 消息。參考一個例子,如何在備份儲存庫或傳輸器的 Linux 機器上啟動 iSCSI 服務,運行以下命令:
/etc/init.d/iscsid start
Options. 此步驟選擇 AD 還原選項。以下列出所有可能的選項。
Recovery type:- 復原至原始位置
- 匯出
Recovery of user object:- 用戶將被停用
- 用戶必須在下次登錄時更改密碼
Overwrite behavior:- 如果該項目存在則重新命名已復原的項目
- 如果該項目存在則跳過已復原的項目
- 如果該項目存在則覆蓋原始項目
在此 AD 還原範例中,我們正將物件復原至原始位置並選擇以下選項,如下面的截圖所示。
點擊 Recover,閱讀通知,然後按 Proceed。
Finish. Active Directory 物件還原已開始。 請等待還原程序完成。
當使用此方法完成 Active Directory 物件的還原程序後,我們可以在 Windows Server 2019 上開啟 “Active Directory 使用者與電腦” ,並檢查已刪除的 AD 組織單位( unit1 )是否已連同其子物件一併還原。
如下方螢幕截圖所示,儲存於 unit1 中的所有使用者均已還原。其大部分屬性(包括群組成員資格)均已保留。 我們只需重設密碼並啟用這些使用者帳戶即可。
從備份進行進階 AD 還原
您可能需要執行進階 Active Directory 還原,並透過高度自訂的設定,從備份中還原已刪除的 Active Directory 物件。例如,您可以將 AD 物件從備份匯出至自訂伺服器,編輯其參數,然後將其匯入至所需位置。
NAKIVO 的通用資料保護解決方案可讓您執行此類任務。 讓我們來看一個範例。
從備份中匯出 AD 物件
網頁介面中工作流程的前幾個步驟,與本文前一節所述相同。讓我們直接跳到物件還原精靈的第三步。進階 AD 還原工作流程的差異便從這一步開始。
Objects。在此範例中,讓我們選取其他 Active Directory 物件進行還原。我們希望還原已刪除的 AD 使用者。 讓我們瀏覽尋找 使用者 並選取 user10 。我們可以在 使用者 目錄中選取多個 AD 物件,以便從備份中還原。
Options。我們選擇”匯出”欲還原的選取 Active Directory 物件。我們希望將物件匯出至還原伺服器的本地資料夾,此步驟的所有設定如下。
Recovery type: 匯出Export location: 恢復伺服器上的本機資料夾Local path: C:TempAD-RecoveryOverwrite behavior: 若已存在同名項目,則重新命名已恢復的項目
點擊 Recover 以及 Proceed 以繼續。
請等待還原工作完成,並將選定的 Active Directory 物件匯出至目標位置。
匯出過程完成後,我們可以在 C:TempAD-Recovery 資料夾中看到我們的 Active Directory 物件。每個 AD 物件都會以獨立的 LDIF 檔案形式匯出。 
LDIF 檔案是一個可編輯的文字檔案,其中包含有關已匯出的 Active Directory 物件的資訊。我們嘗試還原已刪除的 AD 使用者,在此情況下為 使用者10 。您可以在下方的截圖中看到 LDIF 檔案內容的範例。
Ldifde 是一個原生的 Windows Server 工具,可以匯出或匯入 Active Directory 物件至/從 .LDIF 檔案中。然而,要使用這個工具,您必須滿足某些需求,例如安裝憑證授權中心 (CA) 的伺服器角色。
為恢復 AD 物件準備 Windows Server
在開始之前,請確認 Active Directory 伺服器具有 CA 角色。這對於安全 LDAP 連接是必要的。您可以透過使用 Server Manager 中的 Add roles and features 精靈來啟用此角色。新增此角色的工作流程是標準的,我們將僅關注新增此角色的主要步驟。
在 Active Directory Certificate Services 的 Server Roles 新增角色和功能 精靈中選擇 選項。
在 Certification Authority 中選擇 Role Services step。
完成精靈的所有步驟後,您需要為已安裝的角色執行部署後配置。
遵循 AD CS 組態精靈的標準步驟:
- 憑證。輸入網域管理員的憑證(在我們的情況下是 domain1administrator)
- 角色服務。確保已選擇憑證授權中心。
- 安裝類型。選擇 Enterprise CA。
- CA 類型。選擇根 CA。
- 私鑰。選擇創建新的私鑰。
- 密碼學。您可以使用預設的設定。
- CA 名稱。確認 CA 的名稱對於您的網域是正確的。
- 有效期。設置期間,例如五年。
- 憑證資料庫。使用預設的設定。
完成 AD CS 組態精靈後,重新啟動 Windows Server 以使更改生效。
結束 AD 還原
現在我們可以使用 Windows PowerShell 中的命令行 Ldifde 工具,以透過匯入來還原在 Active Directory 中已刪除的物件。我們稍早已經從備份匯出過它們,正如您的記憶一樣。
- 以管理員身分開啟 PowerShell。
- 前往 LDIF 檔案所在的目錄以復原項目:
cd C:TempAD-Recovery
- 匯入 AD 物件以從 LDIF 檔案中還原的命令如下:
ldifde -i -t 636 -f filename.ldif -k -j logfolder
其中 filename.ldif 是 ldif 檔案的路徑,而 logfolder 是儲存流程日誌的資料夾路徑。-t 636 選項指定與 AD 伺服器建立安全連接時所用的 TCP 連接埠 636。在我們的情境中,匯入用以復原被刪除的 AD 物件的命令如下:
ldifde -i -t 636 -f NakivoExport-domain1.local.Users.user10.ldif -k -j C:TempAD-RecoveryLog
我們正在復原 user10 。如果匯入成功,PowerShell 控制台輸出範例顯示於下方的截圖。
注意: 如果您使用 ldifde 工具手動匯出 Active Directory 物件,請使用篩選器。並非所有 AD 物件的屬性都能由管理員匯入。一些屬性受到保護,匯入這些屬性的權限僅屬於系統。於此情況下,您可能會看到錯誤訊息,如 該屬性由安全帳戶管理器(SAM )擁有, 問題 5003(不執行) 等等,當您嘗試從 LDIF 檔案匯入物件時。
若您匯出一個包含所有屬性之使用者或群組物件,則可能需手動移除某些屬性,如 objectGUID 、 objectSid 、 sAMAccountType ,等等,只有在 .LDIF 檔案中移除適當的行後,才能匯入物件。否則,您將無法使用 ldifde 工具匯入物件。
請注意在使用 ldifde 工具之匯出/匯入功能性進行備份及復原時,若無專用備份解決方案,可能會有風險。最好使用專業的備份解決方案來保護整個 Active Directory 伺服器或虛擬機器,從而快速簡單地完成完整還原及粒度復原的 AD 物件。
結論
保障資料和應用程序的可靠方法,包括 Active Directory 內含的所有項目,是定期執行適當的資料備份,並使用理性保留政策儲存備份。專業的備份解決方案在這類情況下提供幫助。 NAKIVO Backup & Replication 是一款通用的資料保護解決方案,具備應用程式感知能力,並支援檔案與物件(包括 Active Directory 中的項目)的完整還原與細粒度復原。



























































