1. 程式人生 > >Windows_server_2003_AD_DC域控制器的解除安裝與清理

Windows_server_2003_AD_DC域控制器的解除安裝與清理



我們現在已經有一些Active Directory的部署及管理經驗了,今天我們要考慮一個問題,如果一個域控制器我們不需要了,那應該如何處理呢?直接把它砸了是不對的,這未免太暴力了,和當前的和諧環境有些格格不入哦。關鍵是,如果我們讓這臺域控制器直接消失,那麼其他的域控制器就無法得知這個訊息,每隔一段時間其他的域控制器還會試圖和這個域控制器進行AD複製,客戶機也有可能會把使用者名稱和口令送到這個不存在的域控制器上進行驗證。如果這個被暴力解除安裝的域控制器還承擔著一些操作主機角色,我們就更麻煩了。因此,我們進行域控制器解除安裝時,一定要把工作做到位,優先使用常規解除安裝,爭取不留後患。

有些朋友可能會說,我也希望用常規解除安裝,但有時就是不能正常解除安裝,沒辦法,只好…..

我們要分析一下,為什麼域控制器無法正常解除安裝呢?當域控制器進行常規解除安裝時,AD的內容發生了變化,域控制器會把這個變化通知自己的複製夥伴,再由自己的複製夥伴通知其他域控制器。如果所有的域控制器都通知到了,那就肯定可以正常解除安裝,而且DNS記錄,操作主機角色,AD複製拓撲等問題都可以迎刃而解。因此,域控制器解除安裝和域控制器之間的AD複製其實是一個硬幣的兩面,域控制器解除安裝時也要進行AD複製。想知道一個域控制器是否可以正常解除安裝,我們只要在Active Directory站點和服務中檢視這個域控制器和它的複製夥伴是否可以AD複製就可以了,只要能進行AD複製,基本解除安裝域控制器時就沒有問題。

我們舉一個域控制器正常解除安裝的例子,拓撲如下圖所示,我們準備解除安裝shanghai站點內的域控制器perth。從拓撲可以看出,perth的複製夥伴應該是Firenze,只要perthFirenze之間可以進行AD複製,perth應該就可以進行域控制器解除安裝。

Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

 在perth上執行Dcpromo,如下圖所示,出現Active Directory安裝嚮導,嚮導判斷我們準備把Active Directory刪除,點選“下一步”繼續。

Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

 由於perth並不是域內的最後一個域控制器,因此我們不能勾選“這個伺服器是域中的最後一個域控制器”。

Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

 Perth

刪除Active Directory
後,需要我們設定本地管理員口令。
Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

 當perth上的Active Directory被刪除後,perth將成為一個成員伺服器。

Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

 Perth

開始了解除安裝域控制器的操作,注意下圖,perthAD的變化複製給了Firenze,這和我們事先的分析是吻合的。 Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

 OK

perth成功地完成了域控制器的解除安裝,刪除了Active Directory Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

 Perth

進行域控制器的解除安裝後,我們觀察一下DNS伺服器,如下圖所示,我們發現DNS已經把shanghai站點的SRV記錄自動更新了, Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

 如下圖所示,shanghai站點內的Firenze也把自己的複製夥伴從Perth改成了Berlin

Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

 域控制器的數量也發生了變化,Perth已經不再是域控制器的一員。

Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

 這樣我們就在Perth上完成了域控制器的常規解除安裝,這種解除安裝方式是我們的首選方法。當然,如果實在無法正常解除安裝,我們也要想想其他辦法,下篇博文中我們將介紹如何進行域控制器的強制解除安裝。

域控制器的強制解除安裝

上篇博文中我們介紹瞭如何對域控制器進行常規解除安裝,本文中我們將介紹如何對域控制器進行強制解除安裝。為什麼需要對域控制器進行強制解除安裝呢?如果域控制器不能和複製夥伴正常通訊,而且更正無望,那我們就要考慮進行強制解除安裝了。例如我曾見過一個單位有10個域控制器,居然有7個不能相互複製,主要是管理員誤以為域控制器越多越好….類似這樣的情況,我們就可以果斷出手,把域控制器強行解除安裝掉。域控制器強行解除安裝的原理也很簡單,那就是解除安裝時不再通知複製夥伴,直接把AD刪除就好。這樣的解除安裝方式是要相對簡單一些,但其實後續的操作很麻煩,例如我們需要在Active Directory中手工清除被強制解除安裝的域控制器,手工清除DNS中的SRV記錄等。因此,如果不是萬不得已,還是用常規解除安裝比較好。

如下圖所示,我們將利用如下圖所示的拓撲為大家演示如何進行域控制器的強制解除安裝,我們進行強制解除安裝的目標是shanghai站點的Firenze

Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

 一 強制解除安裝域控制器

首先我們在被解除安裝的域控制器Firenze上開啟cmd命令提示符,執行dcpromo/forceremovalforceremoval引數的作用就是執行強制解除安裝,如下圖所示,解除安裝嚮導提示我們這種解除安裝方式將不對其他域控制器的Active Directory資料進行更新。

Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

接下來我們需要設定Firenze本地管理員的口令。

Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

強制解除安裝域控制器後,Firenze將不再成為域內的成員伺服器,而是會從域中脫離出去成為工作組中的獨立伺服器。

Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

如下圖所示,點選完成結束了域控制器的強制解除安裝。

Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

二 手工清除Active Directory資料

Firenze被強制解除安裝後,域內的其他域控制器並不知道這件事情,它們仍然認為Firenze

是域控制器的一員,因此我們必須手工將FirenzeActive Directory中清除出去。我們準備在Berlin上對Active Directory進行手工清理,然後Berlin再把清理後的Active Directory複製到其他域控制器就可以了。

Berlin上執行NTDSUTIL,如下圖所示,選擇“Metadata Cleanup”,準備清除不使用的伺服器物件。

Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

然後使用“connections”準備連線到指定的域控制器執行刪除操作,輸入“connect to server berlin”連線到Berlin,然後輸入“quit”返回上級選單。

Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog 

接下來我們需要使用“Select operation target”來選擇被刪除的伺服器物件,選擇伺服器時,我們需要指定伺服器所在的域和站點。我們可以先用list指令列出站點和域,然後再進行選擇。Firenze隸屬於shanghai站點,Firenze所在的域是adtest.com

Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

如下圖所示,我們首先用“list sites”列出了當前站點,然後用“select site 1”選定了shanghai站點,我們可以看到對站點的描述用的是數字而不是字元。選擇了站點之後,我們接下來使用“list domains in site”列出了站點中的域,當前只有一個域adtest.com,編號是0,因此我們接下來使用“select domain 0”就可以把域也選定了。域和站點都選定了,我們就可以進行伺服器的選擇了,使用“list servers for domain in site”可以列出所有的伺服器,當前shanghai站點只有Firenze一個域控制器,因此我們使用“select server 0”選定伺服器Firenze。至此,被手工清理的目標已被我們鎖定了。

Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

用“quit”命令退出選擇操作物件的環境,返回到上級選單,然後我們使用“Remove selected Server”刪除被選定的伺服器物件Firenze

Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

 NTDSUTIL

提示我們對刪除Firenze伺服器的行為進行確認,我們選擇“Y”確定操作。 Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

這樣Firenze被我們從BerlinActive Directory中清除了,然後我們在Berlin上開啟Active Directory使用者和計算機,如下圖所示,刪除域控制器Firenze

Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

我們需要對刪除Firenze的原因進行描述,如下圖所示,Firenze是被我們強制解除安裝的。

Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

確定要進行刪除Firenze的操作,選擇“Y“。

Windows_server_2003_AD_DC域配置(12) 域控制器的解除安裝與清理 - FrankLi - FrankLi Blog

至此,我們在Berlin上基本完成了對Firenze的手工清除,完成操作後還需要注意以下幾點:

1手工清除DNSFirenzeSRV記錄

2如果Firenze承擔了操作主機角色,把操作主機角色轉移到其他域控制器

3如果Firenze是全域性編錄伺服器,選擇其他的域控制器負責全域性編錄

4BerlinActive Directory複製到其他域控制器上

綜上所述,我們發現其實對域控制器進行強制解除安裝是很麻煩的事,我們不應該把它當成一種常態行為,只有當域控制器確實沒有希望進行常規解除安裝時,我們才考慮使用強制解除安裝,而且使用強制解除安裝後一定要注意後續對Active Directory的手工清理!