Active Directory 五大角色 網域

Active Directory架構設計最佳化秘訣TOP 8

2009-07-03
Active Directory是企業Windows作業環境管理的基石。它可以針對不同的組織架構,設計出最符合企業IT維運需求的網域結構。在本文的內容中,筆者將分享在整個目錄服務樹系中有關於五大角色的管理、站台的設計、子網域的管理等等實用技巧。
目前企業的網路環境大部分都已部署Active Directory來當作一切應用系統的基礎建設,因為從使用者帳戶的集中管理、數位資源集中管理、權限委派管理到應用系統的整合管理等等,都必須有這項基礎建設才能達到簡化管理的目的。

早在Windows 2000推出Active Directory架構後,就將網域控制站台的角色分成五大類型,並且可以根據實際的規劃需求,將這五種不同用途的角色繫結在企業目錄服務中的任一網域控制站主機上,因此也被稱為彈性單一主機操作(Flexible Single Master Operation,FSMO)角色,以獲得最佳的運作效能。關於這五大角色的名稱與用途分別說明如下:

■架構主機(Schema Master)

架構主機會負責處理針對Active Directory架構設計上的所有更新與修改。在某些時候需要動用到與此角色的連線要求,例如在公司的網路中建置一部Exchange Server,那麼在Exchange Server的安裝程序中便會自動嘗試與架構主機聯繫並且要求更新Schema。一旦架構更新完成之後,就會從架構主機複寫至目錄中的其他DC主機,而其他DC主機上所存放的Schema僅能唯讀檢視,若想新增、修改、刪除以及更新目錄服務中的Schema,則使用者必須是群組成員才行。而且必須留意的是,在整個樹系中只會有一個架構主機角色。

■網域命名主機(Domain Naming Master

網域命名主機主要負責樹系中新增或刪除網域時的控管,並同時儲存整個目錄樹狀結構的資訊。同樣地,整個樹系中也只會有一個網域命名主機角色。

■RID主機(Relative ID Master)

若要在網域中建立物件時(例如使用者帳戶、群組),便需要藉由這個角色來負責配置所謂的唯一安全識別碼(Security ID,SID),而這個SID便是由兩組資訊組合而成,分別是網域SID以及建立在網域中每一個安全性主體SID的唯一相對ID(RID)所組成。因此如果這個角色發生無法聯繫的問題,建立任何網域物件時就可能出現失敗訊息。這個角色也負責在DC物件移動時,把物件從其來源網域移除,並將物件置於另一個網域中。而在樹系的每個網域中只能有一個網域控制站作為RID主機角色。

■PDC模擬器(PDC emulator)

PDC模擬器會對執行舊版Windows的工作站、成員伺服器和網域控制站通告自己是主要網域控制站,而對於使用者密碼的變更與帳戶的鎖定,也都是由此角色來負責。

至於經常使用的群組原則設定部分,在預設的狀態下,群組原則編輯器也會連線到PDC模擬器主機來同一發佈群組原則物件的設定,如下圖示在群組原則「檢視」選單下的「DC選項」設定即可。此外,它也是網域中負責讓所有電腦校正時間的主機。同樣地,樹系的每個網域中只能有一個網域控制站來當作PDC模擬器角色。

▲群組原則網域控制選項。

■基礎結構主機(Infrastructure Master)

在擁有多個網域的樹系架構中,如果彼此網域中的群組成員有來自非本身網域的物件,則這部分的資訊維護是由基礎架構主機來負責,因此若只有單一網域,這個角色在平常便無用武之地。

請注意,基礎架構主機角色應該要由非擔任通用類別目錄伺服器(GC)的網域控制站所持有。如果基礎架構主機是在通用類別目錄伺服器上執行,就會停止更新物件資訊,因為當網域中的所有DC都同時擔任通用類別目錄的時候,則全部的DC都會擁有最新的資料,因此由哪個DC來擔任基礎架構主機角色就不是那麼重要了。而必須再次提醒的是,在樹系的每個網域中只能有一個網域控制站做為基礎架構主機角色。

TOP1遷移Active Directory 五大角色的方法

目前在公司的Active Directory中只有一個網域,至於網域控制站(DC)則有兩部,都是Windows Server 2008並且同時擔任通用類別目錄(GC)的角色。由於公司將汰換硬體設備,因此我準備把第一部的網域控制站卸除掉,請問該如何把該部主機上的五大角色正確地移轉到另一部網域控制站上呢?

Active Directory中五大角色的移轉,可以透過圖形介面或以ntdsutil命令工具來移轉。先介紹以現有圖形介面移轉五大角色的方法。

先從「系統管理工具」下拉選單中點選開啟「Active Directory使用者及電腦」,然後在最上層的項目節點上按下滑鼠右鍵,然後點選快速選單中的【變更網域控制站】,接著在變更「目錄伺服器」頁面中,選取準備要移轉的目的地網域控制站。

接著點選目前網域名稱的項目節點並按下滑鼠右鍵,然後點選快速選單中的【操作主機】。開啟新頁面後,便可以看到目前三種角色所屬的網域控制站,包括RID、PDC和基礎結構,只要在這三個畫面中分別按下〔變更〕按鈕,即可順利完成這三種操作主機角色的移轉。

接下來說明架構主機(Schema Master)的移轉方法。首先在以系統管理員身分執行的命令提示字元中,如下圖所示輸入「regsvr32 schmmgmt.dll」,先完成架構主機嵌入式單元元件的註冊。

▲註冊Active Directory架構。

接下來,透過MMC管理介面加入Active Directory架構管理項目,然後在最上層的項目節點上按下滑鼠右鍵,並點選快速選單中的【變更Active Directory網域控制站】,切換至準備要移轉的目的地網域控制站。隨後在最上層的項目節點上按下滑鼠右鍵,然後點選快速選單中的【操作主機】開啟「變更架構主機」頁面,最後按一下〔變更〕按鈕完成移轉即可。

緊接著說明網域命名操作主機角色的移轉方法。先從「系統管理工具」下拉選單中點選開啟「Active Directory網域及信任」介面,然後在最上層的項目節點上按下滑鼠右鍵,並點選快速選單中的【變更Active Directory網域控制站】,切換至準備要移轉的目的地網域控制站。

接著在網域名稱的項目節點上按下滑鼠右鍵,並點選快速選單中的【操作主機】開啟「操作主機」頁面,然後如下圖所示按下〔變更〕按鈕來完成移轉,Active Directory五大角色便順利地完成移轉。

▲轉移網域命名操作主機。

前面提到也可以透過ntdsutil命令工具來進行五大角色的移轉,因此在此一併說明。先開啟「命令提示字元」,然後輸入ntdsutil命令進入專屬的提示字元下,然後輸入「roles」並按下繼續。

接著,如下圖所示輸入「Connect to server 目的地網域控制站名稱」進行連線的切換。完成切換之後,輸入「quit」回到「fsmo maintenance」提示字元下,最後便可以輸入Transfer命令來決定要移轉的角色,這五種角色的字串分別是Infrastructure master、naming master、PDC、RID、schema master。完成全部的移轉之後,輸入「quit」逐步離開ntdsutil的命令提示字元即可。

▲使用NTDSUTIL移轉PDC角色。

TOP2 UPN尾碼管理的應用

在公司的Active Directory架構設計中,除了總公司的最上層的主網域(Root domain)之外,還有兩個分公司的子網域(Sub domain)。平常使用者登入公司網域都是採用「domain\username」的格式來進行,如今為了簡化與一致化管理使用者的登入方式,希望他們只要採用自己的E-mail地址來登入就好,請問這辦得到嗎?

在一般的情況下,Active Directory內不同網域的使用者的確必須使用「omain\username」格式來登入,而且所輸入的網域名稱也必須是當地的網域名稱,然而即便想要以E-mail格式的方式來進行登入,不同網域的尾碼也會不一樣,例如根網域的使用者Jovi輸入「jovi@msft.com」,而子網域的使用者jane所輸入的可能就是「jane@sales.msft.com」。

想要解決這個管理問題,讓整個Active Directory中的所有使用者都使用統一的尾碼來進行登入網域,就必須先新增設定好一個UPN(User Principal Name)尾碼,然後讓所有使用者都設定選擇以這個尾碼來登入即可解決。

首先,由「系統管理工具」下拉選單中開啟「Active Directory網域及信任」介面,然後在最上層的項目節點上按下滑鼠右鍵,並點選快速選單中的【內容】。

隨後會開啟如右上圖所示的「UPN尾碼」頁面,便可以在此輸入一個讓所有網域使用者共同用來登入的尾碼,通常會使用公司的E-mail尾碼,而公司的E-mail尾碼通常也與內部網域的尾碼不一樣。

▲管理UPN尾碼清單。

同樣從「系統管理工具」下拉選單中開啟「Active Directory使用者及電腦」介面,接著針對不同組織中的任何使用者按下滑鼠右鍵,然後點選快速選單中的【內容】選項開啟「內容」設定視窗,並且切換到〔帳戶〕活頁標籤內,如下圖所示將使用者登入名稱的尾碼下拉選單的值,變更成前面新增的UPN尾碼即可。

完成設定之後,這些使用者下次登入時,除了可以採用原來的登入方式,也可以改用E-mail的位址來登入。

▲設定使用者登入尾碼。

如果有大量的使用者需要一次完成登入尾碼的修改,可以透過撰寫一個ADSI的Script批次命令方式來解決,請參考以下範例。

Dim oContainer strGivenName=objUser.Get("givenName")
Set oContainer=GetObject("LDAP://OU=Testou,DC=m sft,DC=com")
ModifyUsers oContainer WScript.Echo "Finished"
WScript.Quit
Sub ModifyUsers(oObject) ??? Dim oUser
oObject.Filter = Array("user") ??? For Each oUser in oObject
oUser.Put "userPrincipalName",strGivenName+" msft.com.tw"
oUser.SetInfo ??? Next
End Sub

TOP3 Active Directory網域控制站複寫的管理

公司的Active Directory若在不同的廠區或分公司的網路中建立專屬的站台(Site)與多部的網域控制站(DC),請問該如何管理跨WAN的網域控制站之間的複寫,才會比較有效率呢?

站台與站台之間的網域控制站複寫是經由跨WAN的網路連線,在頻寬極為有限的情況下,配置適當的複寫排程時間與複寫方式是絕對需要的。

先來了解一下如何設定複寫排程。從「系統管理工具」下拉選單中開啟「Active Directory站台及服務」介面,接著展開至任一站台項目節點下的伺服器,便可以看到每一個不同伺服器下都有一個「NTDS Settings」。選取之後,在右方窗格內就會出現複寫的來源伺服器清單。如果清單中沒有出現任何伺服器,那麼複寫的運作肯定是有問題的,這時候在「NTDS Settings」項目上按下滑鼠右鍵,然後依序點選快速選單中的【所有工作】→【檢查複寫拓樸】,等待幾秒鐘之後,就會自動產生伺服器清單。

接著針對清單中任一伺服器項目按下滑鼠右鍵,然後點選快速選單中的【內容】,並在所開啟的畫面中按下〔變更排程〕按鈕,將開啟如下圖所示的排程設定視窗,在這裡可以根據實際需求以滑鼠拖拉的方式來決定複寫的時間位置,以及每一小時複寫的次數。

▲設定複寫排程。

接下來,如果彼此站台中的網域控制站都有好幾台,則可以設定每一個站台中用以代表的橋接伺服器,以提升複寫的效率。設定方法是,先在站台節點下針對所選定的伺服器項目按下滑鼠右鍵,然後點選快速選單中的【內容】。接著將會開啟如下頁圖示的頁面,這時候便可以從「站台間資料轉送可使用的傳輸」方框內,把預設採用的「IP」項目加入右方的方框。

▲設定複寫Bridgehead主機。

TOP4 使用複寫命令管理工具Repadmin

在「Active Directory站台及服務」管理介面中,只能夠進行針對網域控制站之間的複寫設定排程和執行複寫等動作。請問有沒有工具可以用於更進階的管理複寫的運作,例如查看複寫的狀態紀錄、樹系中的所有網域控制站等等? 建議連結到Microsoft官方網站搜尋與下載一個用以管理網域控制站複寫的命令工具「Repadmin」。這一個命令工具將可以協助監視Active Directory的複寫情形,以及進一步進行故障排除的工作。

想要知道此一工具的用法,只要在命令提示列下輸入「repadmin /?」即可。舉例來說,如果想要查看網域中某一個網域控制站的複寫情形,只要輸入「repadmin /showrepl 網域控制站名稱」,即可如右上圖所示看到最新的複寫記錄內容,若其中沒有指定網域控制站的名稱,則會自動以本機進行查詢。過程中如果有複寫連線失敗的紀錄也會一併呈現出來,並且說明失敗的原因,例如遠端系統無法使用、無法取得RPC伺服器等等。

▲查看本機DC的複寫狀態。

如果想要取得複寫的摘要資訊,則輸入「repadmin /replsummary」來取得這部網域控制站與網域中其他主機的複寫摘要資訊。當Active Directory中有多個網域時,下達「repadmin /showtrust」命令即可查看所有受信任的網域清單。若想查看整個樹系中有哪些網域控制站,則下達「repadmin /viewlist *」命令。

而對於各自網域控制站的佇列狀態,可下達「repadmin /queue 網域控制站名稱」命令來查看目前是否有等待複寫中的物件。最後,還可以如下圖示輸入「repadmin /showctx」命令,針對指定的網域控制站來查詢目前開啟中的工作階段。

▲查看指定DC的最新工作階段。

TOP5 Active Directory站台的規劃技巧

公司的Active Directory中只有一個網域和一個預設的站台,目前準備在兩個不同的新廠區中建立兩個專屬的網路。所以打算在這兩個跨WAN連接的新廠區網路中建立它們專屬的網域控制站,請問實際規劃時該怎麼做呢?

由於多個不同的網路經由專線的連接之後,各自所採用的網路區段也會不一樣,因此建議在新的廠區建置網域控制站之前,先在Active Directory管理中配置好各自的站台與相對的子網路。

首先,從「系統管理工具」下拉選單中開啟「Active Directory站台及服務」介面。接著在「Sites」的項目節點上按下滑鼠右鍵,並依序點選快速選單中的【新增】→【站台】,便可以輸入一個新的站台名稱。

▲建立子網路。

建立好所有新的站台之後,接著切換到「Sites/Subnet」項目節點上,按下滑鼠右鍵,依序點選快速選單中的【新增】→【子網路】,隨後將開啟如左下圖所示的「新增物件—子網路」視窗,此時便可以針對下方所選取的站台項目設定子網路。

完成配置站台與建立個別子網路之後,接下來便可以在新廠區的網路中建置網域控制站,在新增網域控制站的過程中,來到如下圖所示的「選取站台」視窗時,在預設的狀態下會發現此新的網域控制站將根據本身的IP位址,自動選取相對應的站台。

▲設定新DC所屬站台。

在站台之間的連接管理部分,還可以自行透過「Inter-Site Transports」之下的「IP」節點來新增自訂的站台連結,這樣便可以在不同站台之間選擇不同的站台連結,或是同時配置多個站台連結,最後再設定不同站台連結內容中各自的花費成本。

TOP6 建立與管理Active Directory子網域

公司的Active Directory中目前只有一個網域,準備在另一個新成立的分公司據點建立專屬的網路,而當地也會有專門負責維護的IT人員,我希望在分公司的網域使用者帳戶,以及其他共用資料夾、共用印表機發佈的維護工作,之後全部交由他來處理。請問該如何來規劃現有的Active Directory,才能夠既簡單又快速地做好委派授權的管理模式呢?

針對這一方面的Active Directory規劃需求,建議在分公司網路中建立一個子網域,而這個子網域的系統管理員便是當地負責的IT人員,如此一來,除了可以讓總公司的你控管整個組織的Active Directory之外,也可以讓分公司的IT人員僅能全權管理所屬的分公司網域,而無權管理到上一層總公司的網域。

如何在現有的Active Directory中新增一個子網域呢?很簡單,只要在分公司的網路上新增一個Windows Server 2008的「Active Directory網域服務」角色,接著透過DCPROMO命令進行最後設定即可。設定過程中會來到如下圖所示的「命名新網域」畫面,這裡可以看到目前的頂層網域名稱,然後需要輸入一個子網域的名稱,而它的完整網域名稱(FQDN)也會出現在下方的欄位中。

▲設定子網域名稱。

完成建置分公司子網域之後,往後總公司的IT人員如果想要連線管理此子網域上的物件,只要先進入「Active Directory使用者及電腦」介面中,在最上層的項目節點上按下滑鼠右鍵,然後點選快速選單中的【變更網域控制站】,開啟如下圖所示的「變更目錄伺服器」視窗進行切換即可。

▲變更網域控制站。

以上的操作方法同樣也可以套用在分公司子網域的操作中,讓當地的IT人員也可以連線到總公司的網域控制站,不過由於權限僅是子網域的系統管理員,而非整個企業網域的系統管理員,所以無法新增或修改上層網域中任何的物件。若在此變更使用者帳戶的密碼,將會出現如下圖所示的錯誤訊息。

▲無法變更父網域物件設定

TOP7 共用資料夾與印表機的發佈管理技巧

公司的網路中有許多檔案伺服器的共用資料夾以及網路共用的印表機,而且在不同的共用資料夾中存放著不同類型的文件檔案。此外,不同的共用印表機的用途也不一樣,請問有什麼方法可以讓所有使用者能夠很快速地找到他們需要連線的資源呢?

當網路中共用的檔案資源與印表機資源很多時,可以考慮將它們一併發佈到Active Directory中,這樣網域的使用者便可以很迅速地在網域中搜尋到所需要的連線資源。

該怎麼做呢?筆者以發佈共用檔案資源到Active Directory的操作來說明。先從「系統管理工具」下拉選單中開啟「Active Directory使用者及電腦」視窗,然後選取至所要新增的組織容器節點上,按下滑鼠右鍵,依序點選快速選單中的【新增】→【共用資料夾】,便可以設定所要發佈的共用名稱和網路路徑來完成發佈設定。

▲開啟已發佈的共用資料夾內容。

接下來在所完成發佈的共用資料夾上按下滑鼠右鍵,然後點選快速選單中的【內容】。開啟如上圖所示的視窗後,在〔一般〕活頁標籤內輸入相關的描述,然後按下〔關鍵字〕按鈕繼續。隨後將開啟「關鍵字」設定頁面,可以在此輸入多筆的關鍵字(中英文皆可),好讓用戶端的使用者可以在自己的電腦上隨時根據不同的需求,以輸入關鍵字的方式找到所需的共用檔案資料夾或印表機。

隨後來到用戶端的Windows Vista電腦上進行操作。開啟「網路」視窗,然後在工具列中按下〔搜尋Active Directory〕按鈕,接著可以在如下圖所示的頁面中,從「尋找」下拉選單中選擇【共用資料夾】,並且在「關鍵字」欄位中輸入任何可能的關鍵字,最後按下〔立即尋找〕按鈕即可找到所有符合條件的共用資料夾。

▲尋找共用資料夾。

使用者找到需要的共用資料夾後,便可以直接在搜尋結果窗格中針對這些資源項目按下滑鼠右鍵,然後點選快速選單中的【查看】或【連線網路磁碟機】。

請注意,無論是共用資料夾或是共用印表機的發佈,都可以在「Active Directory 使用者及電腦」畫面中進行,然後在網域名稱的節點上按下滑鼠右鍵,並點選快速選單中的【尋找】選項進行快速搜尋。

TOP8 Active Directory資料庫的維護作業

聽說在Active Directory的運作中,已有專屬格式的資料庫來儲存相關資料,既然如此,該如何維護它的資料庫呢?例如我可能需要查看它目前的大小並且進行壓縮,或是對於它目前的存放路徑進行變更等等。

根據系統預設,Active Directory會自動每隔12個小時執行一次資料庫線上重組作業,雖然線上重組作業並不會減少資料庫檔案(Ntds.dit)的大小,但可以藉此重新取得目錄中的可用空間,讓資料儲存達到最佳化。

如果想自行手動執行資料庫離線維護作業,則可以經由ntdsutil命令工具來離線重組與資料庫壓縮,這對於檔案已經成長很大而導致效能不彰的Active Directory資料庫來說相當有幫助。

▲壓縮NTDS資料庫。

設定步驟是,先以系統管理員身分執行「命令提示字元」,接著執行ntdsutil命令,進入ntdsutil的提示字元後,接著輸入「Files」進入Files的提示字元,然後輸入「info」來查看NTDS資料庫與記錄檔的儲存資訊,如果發現資料庫檔案大小已經成長到很大,可以考慮如上圖所示輸入「Compact to 路徑」,將它進行壓縮,並指定將壓縮後的檔案存放到不同的資料夾中,等完成壓縮之後,再將檔案複製到原來的資料夾路徑中,並刪除紀錄檔即可。

若想要檢查NTDS資料庫的完整性,則在Files的提示字元下輸入「Checksum」,或是輸入Integrity命令進行一致性的檢查。如果想要變更目前NTDS資料庫與紀錄檔的存放路徑,則可以輸入「Set path DB 資料夾路徑」和「Set path Logs資料夾路徑」來完成變更。如果是要進行資料庫與紀錄檔的移動,則改輸入「Move DB to 資料夾路徑」和「Move Logs to 資料夾路徑」。

結語

現在只要是Microsoft所推出的伺服端解決方案,一定都要建構在Active Directory環境的基礎下,才能夠真正發揮完整的整合應用效益,因此對於這一項IT營運的根基來說,從它的穩定性、可靠度、安全性到效能的表現,都會牽動所有架構在它之上的應用系統服務的表現。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!