引言: 在管理AD DS域服務(wù)時(shí),常遇到無法登錄域環(huán)境、軟件安裝失敗等情況。利用系統(tǒng)內(nèi)置的“Ntdsutil”命令,可以有效解決上述問題。作為活動(dòng)目錄數(shù)據(jù)庫管理的命令行工具,“Ntdsutil”命令主要用于維護(hù)Active Directory數(shù)據(jù)庫、管理和控制操作主機(jī)、清理Active Directory數(shù)據(jù)庫中的垃圾數(shù)據(jù)等功能。
當(dāng)域控制器出現(xiàn)故障但依然可用的情況下,可以先將出現(xiàn)故障的服務(wù)器設(shè)置為額外域控制器,而將額外域控制器升級為主域控制器。在域環(huán)境中,僅僅有一臺域控制器是不夠的,為此,可以創(chuàng)建一臺運(yùn)行AD DS域服務(wù),與域控制器并行的額外域控制器。在AD DS域服務(wù)器出現(xiàn)問題時(shí),可以接管其Active Directory的管理工作。例如,可以在一臺Windows Server 2008獨(dú)立服務(wù)器上打開“系統(tǒng)屬性”窗口,在“計(jì)算機(jī)”面板中點(diǎn)擊“更改”按鈕,在彈出窗口中選擇“域”項(xiàng),輸入域名,點(diǎn)擊“確定”按鈕,重啟系統(tǒng),以域管理員身份登錄。
點(diǎn) 擊“Win+R” 鍵, 執(zhí)行“Dcpromo.exe”程 序,在Directory域服務(wù)安裝向?qū)Ы缑嬷羞B續(xù)點(diǎn)擊“下一步”按鈕,在“選擇某一部署配置”窗口中選擇“向現(xiàn)有的域添加域控制器”項(xiàng),在“下一步”窗口中的“鍵入位于計(jì)劃安裝此域控制器的林中任何域的名稱”欄中輸入域名,點(diǎn)擊“下一步”按鈕,在網(wǎng)絡(luò)憑據(jù)窗口中輸入該域的管理員和賬戶和密碼。連續(xù)點(diǎn)擊“下一步”按鈕,依次選擇目標(biāo)域和站點(diǎn)項(xiàng)目,并根據(jù)需要選擇DNS服務(wù)器和全局編錄項(xiàng)目。
注意,如果部署的是只讀域控制器,則不要選擇全局編錄項(xiàng)目。對于部署額外控制器來說,最好選擇DNS服務(wù)器項(xiàng)。
根據(jù)實(shí)際的網(wǎng)絡(luò)規(guī)劃,來確定是否將額外控制器升級為全局編錄服務(wù)器。當(dāng)部署完畢后,使用Active Directory站點(diǎn)和服務(wù)程序,將額外域控制器升級為全局編錄控制器。點(diǎn)擊“下一步”按鈕,將數(shù)據(jù)庫文件夾、日志文件、SYSVOL文件夾分別存儲到不同的磁盤中。在下一步窗口中輸入用于目錄還原模式的Administrator密碼。當(dāng)然,該密碼必須符合密碼強(qiáng)制策略。之后連續(xù)點(diǎn)擊“下一步”按鈕,執(zhí)行額外域控制器的安裝操作。完畢后重啟系統(tǒng),完成額外控制器的部署。
當(dāng)發(fā)現(xiàn)上述故障時(shí),以域管理員身份登錄額外域控制器,打開Active Directory站點(diǎn)和服務(wù)窗口,在左側(cè)點(diǎn)擊“Sites→Default-First-Site-Name→Servers→額外域控制器名稱”項(xiàng),在右側(cè)的“NTDS Settings”項(xiàng)右鍵菜單上點(diǎn)擊“屬性”項(xiàng),在“常規(guī)”面板(如圖1)的“查詢策略”列表中選擇“Default Query Policy”項(xiàng),勾選“全局編錄”項(xiàng)。點(diǎn)擊“確定”按鈕保存配置信息。因?yàn)橹饔蚩刂破魈幱诳捎脿顟B(tài),因此打開Active Directory用戶和計(jì)算機(jī)窗口,在左側(cè)的“Active Directory用戶和計(jì)算機(jī)”項(xiàng)的右鍵菜單上點(diǎn)擊“更改域控制器”項(xiàng),在彈出窗口中選擇“此域控制器或AD LDS實(shí)例”項(xiàng),在列表中選擇所需的額外控制器,點(diǎn)擊“確定”按鈕,保存設(shè)置信息。
在CMD窗口中執(zhí)行“ntdsutil”命令,依次執(zhí)行“roles”,“connections”,“connect to server xxx.xxx.com” 命 令(如 圖 2)。連接到額外域控制器上,假 設(shè)“xxx.xxx.com”為 其名稱。執(zhí)行“quit”命令,返回上級目錄。在“fsmo maintenance”提示符下執(zhí)行“Transfer schema master”命令,在角色傳送確認(rèn)對話框中點(diǎn)擊“是”按鈕,將架構(gòu)主機(jī)角色轉(zhuǎn)移到額外域控制器中。執(zhí)行分別執(zhí)行“transfer infrastructure master”,“transfer naming master”,“transfer PDC”,“transfter RIP master”等命令,執(zhí)行傳送架構(gòu)主機(jī)角色、域命名主機(jī)角色、PDC主機(jī)角色、RID主機(jī)角色等操作。在CMD窗口中執(zhí)行“netdom query fsmo”命令,可以查看操作主機(jī)角色部署在哪臺域控制器中。經(jīng)過以上操作,原主域控制器自動(dòng)降級為額外域控制器。
圖1 查看NTDS設(shè)置承諾書
圖2 運(yùn)行ntdsutil命令
以管理員身份登錄該域控制器,在CMD窗口中執(zhí)行“dcpromo.exe”程序,在Active Directory域服務(wù)安裝向?qū)Ы缑嬷悬c(diǎn)擊“下一步”按鈕,在彈出提示窗口中點(diǎn)擊“是”按鈕,在刪除域窗口中不選擇“刪除該域,因?yàn)榇朔?wù)器是該域中最后一個(gè)域控制器”項(xiàng),在下一步窗口中輸入該服務(wù)器上新的Administrator賬戶密碼,密碼必須包含大小寫字母和數(shù)字,長度大于7位。之后點(diǎn)擊“完成”按,重新啟動(dòng)系統(tǒng),該機(jī)將降級為成員服務(wù)器。
當(dāng)?shù)卿浐蟀凑丈鲜龇椒?,在系統(tǒng)屬性窗口中選擇“工作組”項(xiàng),輸入工作組名稱(例如“WORKGROUP”),點(diǎn)擊確定按鈕,輸入對應(yīng)的賬號名和密碼,其必須擁有從域中刪除此計(jì)算機(jī)的權(quán)限。點(diǎn)擊“確定”按鈕,然后重啟系統(tǒng),就可以脫離域環(huán)境。之后在該機(jī)上執(zhí)行重裝Windows Server 2008,并按照上述方法,提升為額外域控制器,根據(jù)需要升級為主域控制器,并利用Windows Server Backup組件來恢復(fù)之前備份的Active Directory數(shù)據(jù)庫,這樣,就可以將AD域控制器恢復(fù)到正常狀態(tài)了。
如果域控制器已經(jīng)徹底損壞無法恢復(fù),可以將額外域控制器直接升級為域控制器。以域管理員身份登錄到額外域控制器上,在CMD窗口執(zhí)行以上命令,連接到目標(biāo)域,在“fsmo maintenance:”提示符下執(zhí)行“seize schema master”命令,在彈出的角色占用確認(rèn)窗口中點(diǎn)擊“是”按鈕,執(zhí)行占用架構(gòu)主機(jī)角色操作。完畢后依次執(zhí)行“seize infrastructure master”,“seize naming master”,“seize PDC”,“seize RIP master”命令,分別執(zhí)行占用架構(gòu)主機(jī)角色、域命名主機(jī)角色、PDC主機(jī)角色、RID主機(jī)角色等操作。之后按照上述方法,將額外控制器提升為全局編錄服務(wù)器,恢復(fù)管理活動(dòng)目錄數(shù)據(jù)庫的功能。
在維護(hù)和管理Active Directory數(shù)據(jù)庫時(shí),有時(shí)會遇到誤操作、系統(tǒng)故障或者硬件受損的情況,可能在Active Directory數(shù)據(jù)庫中產(chǎn)生垃圾數(shù)據(jù),當(dāng)在多臺域控制器之間復(fù)制數(shù)據(jù)時(shí),將會產(chǎn)生一些錯(cuò)誤的信息。因此,及時(shí)將Active Directory數(shù)據(jù)庫中垃圾數(shù)據(jù)清理掉,對于維護(hù)其運(yùn)作是很重要的。
例如,當(dāng)某臺域控制器出現(xiàn)損壞時(shí),就需要從Active Directory數(shù)據(jù)庫中清除由此產(chǎn)生的錯(cuò)誤信息。在CMD窗口中執(zhí)行“Ntdsutil”命令,在“ntdsutil:”提 示符下依次執(zhí)行“metadata cleanup”、“ select operation target”、“connections” 命 令,在“server connections:”提示符下執(zhí)行“connect to server xx.xxx.com”命令。連接到名為“xx.xxx.com”的域控制器中。
為了順利實(shí)現(xiàn)連接操作,不要使用IP連接,因?yàn)檫@可能出現(xiàn)連接參數(shù)不正常的問題。在“server connections:”提示符下執(zhí) 行“metadata cleanup:quit”命令,執(zhí)行完畢后,在“metadata cleanup:”提示符下執(zhí)行“l(fā)ist site”命令,顯示所有可用的站點(diǎn)項(xiàng)目。根據(jù)需要選擇發(fā)生故障的域控制器所在站點(diǎn)的索引號。
例 如, 執(zhí) 行“select site 0”命令,表示選擇索引號為0的站點(diǎn)。執(zhí)行“l(fā)ist domains”命令,顯示所有可用的域。選擇發(fā)生故障的域控制器所在域。例如執(zhí)行“select domain 0”命 令,選擇索引號為0的域。執(zhí)行“l(fā)ist servers for domain in site”命令,列出該域中所有的域控制器。
從中選擇需要清理垃圾數(shù)據(jù)的域控制器對應(yīng)的索引號,例如執(zhí)行“select server 1”命令,選擇索引號為1的目標(biāo)域控制器。執(zhí)行“quit”命令,返回上級目錄。在“metadata cleanup:”提示符下執(zhí)行“remove select server”命令,在服務(wù)器刪除確認(rèn)對話框中點(diǎn)擊“是”按鈕,對選定的發(fā)生故障的域控制器執(zhí)行垃圾數(shù)據(jù)清理操作。如果清除的是Server對象,需要在Active Directory站點(diǎn)和服務(wù)窗口中打開目標(biāo)站點(diǎn),刪除對應(yīng)的Server對象。在Active Directory用戶和計(jì)算機(jī)窗口中打開名為“Doamin Control”的組織單元,在其中刪除對應(yīng)的域控制器對象。如果清理的是Domain對象,需要打開Active Directory域和信任關(guān)系程序,刪除對應(yīng)的已經(jīng)失效的信任關(guān)系。
當(dāng)系統(tǒng)出現(xiàn)故障時(shí),使用實(shí)現(xiàn)準(zhǔn)備的備份文件,可以快速恢復(fù)系統(tǒng)。不過,這也會造成系統(tǒng)使用的安全標(biāo)識符SID與之前的系統(tǒng)相同,在Active Directiry數(shù)據(jù)庫中會出現(xiàn)重復(fù)的SID,造成相關(guān)主機(jī)登錄失敗的情況。
SID(Securoty Identifiers,安全標(biāo)識符)是系統(tǒng)標(biāo)識用戶,組和計(jì)算機(jī)賬戶的惟一號碼。 在Windows內(nèi) 部,每個(gè)賬號具有一個(gè)惟一的SID。打開注冊表編輯器,選中“HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList”分支,在其下可以看到所有賬戶的SID號。
清除活動(dòng)目錄數(shù)據(jù)庫中重復(fù)SID的方法是,打開CMD窗口,執(zhí)行“ntdsutil”命令,之后執(zhí)行“security account management”命令,在“安全策略賬戶維護(hù):”提示符下執(zhí)行“connect to server xx.xxx.com”命令,連接到目標(biāo)域中。依次執(zhí)行“check duplicate sid”,“clean duplicate sid”命令,可以將當(dāng)前活動(dòng)目錄數(shù)據(jù)庫中重復(fù)的SID清理掉完。完畢后連續(xù)執(zhí)行“quit”命令,退出“ntsdutil”操作界面。