■ 河南 劉進(jìn)京
編者按:在企業(yè)網(wǎng)絡(luò)環(huán)境中,活動目錄的作用是非常重要的。在實際的網(wǎng)絡(luò)運行中,可能會出現(xiàn)和活動目錄有關(guān)的各種故障,這無疑會給網(wǎng)絡(luò)管理造成不利影響。因此,及時發(fā)現(xiàn)并排除這些問題,對活動目錄進(jìn)行災(zāi)難恢復(fù),是網(wǎng)絡(luò)管理員必須掌握的技術(shù)。
以Windows Server 2016為操作環(huán)境,利用系統(tǒng)提供的多種活動目錄恢復(fù)功能,包括回收站,服務(wù)器元數(shù)據(jù)清除和目錄還原等方法,可以快速有效的排除與活動目錄有關(guān)的故障。
對于活動目錄域服務(wù)來說,可以依據(jù)企業(yè)的實際應(yīng)用環(huán)境,來添加對應(yīng)的OU和用戶。對于用戶的屬性,可以進(jìn)行更新和修改。對于無關(guān)的用戶,可以將其刪除。例如在PowerShell中執(zhí) 行“Get-Aduser -filter*”命令,可以查看所有的賬戶信息。執(zhí)行“Get-Aduser -filter | select distinguishedname”命令,顯示賬戶匯總信息。
實際上,當(dāng)刪除的某個賬戶后,其實執(zhí)行的Soft Delete軟刪除操作。即被刪除的對象依然保存在活動目錄數(shù)據(jù)庫中,經(jīng)過180天后才會被徹底清除。
對于活動目錄中的Delete Object對象來說,是可以根據(jù)需要對其進(jìn)行恢復(fù)的。如果要恢復(fù)誤刪除的對象,在Windows Server 2008 R2之前,需要使用LDP.EXE這款工具,執(zhí)行一系列復(fù)雜的操作來實現(xiàn)。
對于之后的系統(tǒng),系統(tǒng)提供了對象回收站這一邏輯管理單元,可以使用活動目錄管理中心這一工具輕松進(jìn)行恢復(fù)。
打開Active Directory管理中心,在左側(cè)對應(yīng)域的根目錄,在右側(cè)點擊“啟用回收站”項啟動該功能。
注意:該功能一旦啟用則不能撤銷。
這樣,在活動目錄中就會增加名為“Delete Objects”的容器,在其中存儲所有被刪除的對象。選擇某個刪除的對象,點擊右側(cè)“還原”項,即可將其恢復(fù)過來。
此外,從Windows Server 2008開始,系統(tǒng)針對活動目錄對象提供了防意外刪除功能。
在Active Directory用戶的計算機窗口中點擊菜單“查看”-“高級功能”項,喧選擇某個賬戶,在其屬性窗口中的“對象”面板中選擇“防止對象被意外刪除”項。這樣當(dāng)刪除該對象時,系統(tǒng)就會其對其進(jìn)行攔截。
對于容器來說,默認(rèn)已經(jīng)開啟了防意外刪除包谷功能。
對于之前的系統(tǒng),也可以使用“l(fā)dp.exe”程序,執(zhí)行恢復(fù)操作。
以管理員身份登錄域控制器,點擊“Win+R”鍵,執(zhí)行“l(fā)dp.exe”程序,在彈出窗口中點擊菜單“連接”-“連接”項,在連接窗口中輸入林根域內(nèi)的域控制器主機名稱(例如“DCServer”),點擊確定按鈕。
點擊菜單“連接”-“綁定”項,在彈出窗口中點擊確定按鈕。
點擊菜單“查看”-“樹”項,在樹視圖窗口中輸入林根域域名(例如“xxx.com”)。
點擊確定按鈕。點擊菜單“選項”-“控制”項,在控制窗口右下角的“預(yù)定義加載”列表中選擇“Return deleted objects”項。
點擊確定按鈕,在窗口左側(cè)的分析列表中 的 打 開“CN=Deleted Objects,DC=xxx,DC=com”節(jié)點,在下面可以看到誤刪除的賬戶名信息。
在該誤刪除項的右鍵菜單上點擊“修改”項,在彈出窗口中的“屬性”欄中輸入“isDeletd”,在“操作”欄中選擇“刪除”項。
點擊“輸入”按鈕,完成輸入操作后,在“屬性”欄中輸入“distinguishedName”,在“值” 欄 中 輸 入“cn=zhanghu,ou=市 場部 ,dc=xxx,dc=com”,這里采用的是假設(shè)的賬戶名,組織單元名和域名,您可以根據(jù)實際情況加以更改。
在窗口左下角選擇“擴展”和“同步”項,在“操作”欄中選擇“替換”項,點擊“輸入”按鈕,完成恢復(fù)信息的輸入操作。最后點擊“運行”按鈕,就可以恢復(fù)誤刪除的賬戶了。
活動目錄元數(shù)據(jù)清除功能,適用于DC損壞的情況。
例如,在網(wǎng)絡(luò)中存在多個域控,當(dāng)添加新的域控時,可能因為其硬盤/主板/電源受損等原因,導(dǎo)致其安裝失敗。但是該DC已經(jīng)將一些數(shù)據(jù)寫入到了“NTDS.DIT”數(shù)據(jù)庫文件中的配置分區(qū)中,這就需要將該DC從配置分區(qū)中清除。
對于這種情況,可以在其他的DC上打開Active Directory活動目錄和計算機窗口,在左側(cè)選擇“Domain Controllers”項,在右側(cè)可以看到該已經(jīng)損壞的DC。僅僅在其名稱的右鍵菜單上點擊“刪除”項將其清除,是不能解決問題的。
在CMD窗 口 中 執(zhí)行“ntdsutil” 命 令,在“ntdsutil:”提示符下執(zhí)行“activate instance ntds”命令,激活NTDS實例名稱。
執(zhí) 行“metadata cleanup”命令,在元數(shù)據(jù)清除模式下執(zhí)行“select operation target”命 令,選擇站點/服務(wù)器/域/角色和命名上下文,執(zhí)行“connect to server dc1.xxx.com”命令,連接到指定的正常的DC服務(wù)器。
當(dāng)使用本登錄的用戶憑證綁定之后,執(zhí)行“q”命令返回上級菜單。
執(zhí)行“l(fā)ist domains”命令,顯示找的域名。
執(zhí)行“select domain 0”命令,選擇指定的域,一般來說,0表示一個森林的根域。
執(zhí)行“List sytes”命令,顯示站點信息。執(zhí)行“select site 0”命令,選擇目標(biāo)站點。
執(zhí) 行“l(fā)ist naming contexts”命令,顯示命名上下文信息,即活動目錄數(shù)據(jù)庫中的所有分區(qū),一般包括 Configuration,Schema,Domain等分區(qū)。
執(zhí) 行“select naming context 1”命 令,選 擇Domain分 區(qū)。 執(zhí) 行“l(fā)ist servers in site”命令,顯示該站點中的所有DC服務(wù)器。
例 如 執(zhí) 行“select server 3”命令,選擇目標(biāo)DC服務(wù)器,這里的“3”為具體的編號,可以根據(jù)實際情況修改。執(zhí)行“q”命令,返回元數(shù)據(jù)清除模式。執(zhí)行“remove selected server”命令,在彈出的警告窗口中點擊“是”按鈕,才徹底清除了該DC在活動目錄中的元數(shù)據(jù)信息。
此外,在卸載對應(yīng)DC的過程中如果出錯,或者正在運行的某臺DC損壞而無法修復(fù),都會導(dǎo)致活動目錄數(shù)據(jù)庫中保存錯誤信息的情況,都可以使用上述方法對其進(jìn)行清除。
為了保證活動目錄域服務(wù)順暢運行,除了需要準(zhǔn)備多臺DC外,還需要對其進(jìn)行及時的備份。這樣,即使某臺DC出現(xiàn)啟動失敗等情況,也可以從容加以應(yīng)對。
可以使用備份數(shù)據(jù)進(jìn)行恢復(fù),在恢復(fù)的過程中,可能在其他的DC上添加了新的賬戶信息,當(dāng)其恢復(fù)完成后,其他的DC會通過復(fù)制的方式,將變動信息同步到該DC上,這稱為非授權(quán)的還原。
此外,如果這些DC服務(wù)器感染了惡意程序,惡意程序?qū)顒幽夸浀男畔⑦M(jìn)行了破壞操作(例如隨意修改賬戶屬性等),因為這可能涉及到大量的配置信息,手工逐個恢復(fù)比較繁瑣。
如果在之前及時進(jìn)行了備份,就可以在其中一臺DC上執(zhí)行恢復(fù)操作,將活動目錄數(shù)據(jù)恢復(fù)到正常狀態(tài)。但是,如果該DC重新啟動后,其他DC上的混亂數(shù)據(jù)也會同步到該DC中。解決的方法是,只允許該DC將數(shù)據(jù)同步復(fù)制到其他的DC上,這稱為授權(quán)還原。要實現(xiàn)這種反向復(fù)制,需要在還原后的活動目錄對象的USN值進(jìn)行適當(dāng)調(diào)整。
例如在DCsrv2上打開Windows Server Backup程序,在右側(cè)點擊“一次性備份”項,在向?qū)Ы缑嬷羞x擇“自定義”項,再打開窗口中可以選擇裸機恢復(fù),系統(tǒng)狀態(tài)等項目。之后選擇備份路徑,執(zhí)行具體的備份操作。
當(dāng)出現(xiàn)以上故障時,可以在按下Shift鍵的同時重啟該DC,在重啟過程中會自動進(jìn)入修復(fù)模式(如圖1)。選擇“疑難解答”和“啟動設(shè)置”項,點擊“重啟”按鈕,在之后出現(xiàn)的高級啟動選項界面中選擇“目錄服務(wù)修復(fù)”項,輸入目錄還原模式密碼。
圖1 修復(fù)模式界面
圖2 選擇還原的類型
進(jìn)入系統(tǒng)后打開Windows Server Backup程序,在右側(cè)選擇“恢復(fù)”項,在向?qū)Ы缑嬷羞x擇“系統(tǒng)狀態(tài)”項,在下一步窗口(如圖2)中選擇“原始位置”項,如果執(zhí)行的是授權(quán)還原模式,需要選擇“對Active Directory文件執(zhí)行授權(quán)還原”項。之后點擊“恢復(fù)”按鈕,執(zhí)行恢復(fù)操作接口。
注意:對于授權(quán)還原來說,不能選擇“自動重新引導(dǎo)服務(wù)器以完成恢復(fù)過程”項。
這里以授權(quán)還原為例進(jìn)行說明,當(dāng)恢復(fù)后,在重新啟動前,需要在CMD
窗 口 中 執(zhí) 行“ntdsutil”命令,在提示符下執(zhí)行“activate instance ntds”,“authoritative restore”命令,在授權(quán)還原提示符下執(zhí)行“restore object "cn=user1,ou=dapart,dc=xxx,d c=com"”命令,針對目標(biāo)賬戶進(jìn)行授權(quán)還原,這里僅僅使用名為“user1”的用戶為例進(jìn)行說明,實際上就是對其屬性版本號增加10000的值,這樣該DC重啟后,指定的對象的屬性會同步到其他的DC上。