星期三, 12月 28, 2005

[Win] FSMO 的轉移

之前曾經發表過Windows 2000 網域控制站升級至 Windows Server 2003 的文章,這篇文章介紹的是另一種更保險的方式,FSMO的轉移;聽孫老師說,業界普遍也是利用這樣的方式來進行網域的升級,基本上跟之前的文章是大同小異的,觀念是相互支援。

概述:
建立2000網域控制站 => 先利用adprep/forestprep更新樹系資料 => 利用adprep/domainprep更新網域資料 => 把2003網域控制站加入2000網域 => 轉移FSMO角色到2003網域控制站 => 轉移GC(通用類別目錄) => 移除2000網域控制站 => 完成 。
FSMO角色介紹及說明:
  1. 架構主機:架構主機網域控制站會控制對架構所做的所有更新及修改。如果要更新樹系的架構,必須具有架構主機的存取權限。整個樹系中只能有一個架構主機。
  2. 網域命名主機:網域命名主機網域控制站會控制在樹系中新增或移除網域。整個樹系中只能有一個網域命名主機。
  3. 基礎結構主機:基礎結構負責更新自己網域中物件對其他網域中物件的參考。在任何時候,每個網域中只能有一個網域控制站做為基礎結構主機。
  4. 相對 ID (RID) 主機:RID 主機負責處理來自特定網域中所有網域控制站的 RID 集區要求。在任何時候,每個網域中只能有一個網域控制站做為 RID 主機。
  5. PDC 模擬器:PDC 模擬器是一個網域控制站,它會對執行舊版 Windows 的工作站、成員伺服器和網域控制站通告自己是主要網域控制站 (PDC)。例如,如果網域中包含不是執行 Microsoft Windows XP Professional (商用版) 或 Microsoft Windows 2000 用戶端軟體的電腦,或者如果其中包含 Microsoft Windows NT 備份網域控制站,PDC 模擬器主機就會成為 Windows NT PDC。它也是網域主機瀏覽器 (Domain Master Browser),而且會處理密碼不符的問題。在任何時候,樹系的每個網域中只能有一個網域控制站做為 PDC 模擬器主機。
轉移FSMO角色:
轉移架構主機角色
  • 登錄 Schmmgmt.dll
  1. 按一下 [開始],再按一下 [執行]。
  2. 在 [開啟] 方塊中輸入 regsvr32 schmmgmt.dll,再按一下 [確定]。
  3. 當您收到操作成功的訊息時,請按一下 [確定]。
  • 轉移架構主機角色
  1. 按一下 [開始],再按一下 [執行],在 [開啟] 方塊中輸入 mmc,然後按一下 [確定]。
  2. 在 [檔案] 功能表上按一下 [新增/移除嵌入式管理單元]。
  3. 按一下 [新增]。
  4. 按一下 [Active Directory 架構],接著按一下 [新增],再按一下 [關閉],然後按一下 [確定]。
  5. 在主控台樹狀目錄中,以滑鼠右鍵按一下 [Active Directory 架構],再按一下 [變更網域控制站]。
  6. 按一下 [指定名稱],輸入即將成為新角色持有者的網域控制站名稱,再按一下 [確定]。
  7. 在主控台樹狀目錄中,以滑鼠右鍵按一下 [Active Directory 架構],再按一下 [操作主機]。
  8. 按一下 [變更]。
  9. 按一下 [確定],確認您要轉移角色,再按一下 [關閉]。
轉移網域命名主機角色
  1. 按一下 [開始],指向 [系統管理工具],再按一下 [Active Directory 網域及信任]。
  2. 以滑鼠右鍵按一下 [Active Directory 網域及信任],再按一下 [連線到網域控制站]。注意:如果您不在要轉移角色的網域控制站上,必須執行此步驟。如果您已經連線到要轉移角色的網域控制站,則不必執行此步驟。
  3. 請執行下列其中一項操作: 在 [輸入另一網域控制站的名稱] 方塊中,輸入即將成為新角色持有者的網域控制站名稱,再按一下 [確定]。- 或 -在 [或選擇可用的網域控制站] 清單中,按一下即將成為新角色持有者的網域控制站,再按一下 [確定]。
  4. 在主控台樹狀目錄中,以滑鼠右鍵按一下 [Active Directory 網域及信任],再按一下 [操作主機]。
  5. 按一下 [變更]。
  6. 按一下 [確定],確認您要轉移角色,再按一下 [關閉]。
轉移 RID 主機、PDC 模擬器和基礎結構主機角色
  1. 按一下 [開始],指向 [系統管理工具],再按一下 [Active Directory 使用者和電腦]。
  2. 以滑鼠右鍵按一下 [Active Directory 使用者和電腦],再按一下 [連線到網域控制站]。注意:如果您不在要轉移角色的網域控制站上,必須執行此步驟。如果您已經連線到要轉移角色的網域控制站,則不必執行此步驟。
  3. 請執行下列其中一項操作: 在 [輸入另一網域控制站的名稱] 方塊中,輸入即將成為新角色持有者的網域控制站名稱,再按一下 [確定]。- 或 -在 [或選擇可用的網域控制站] 清單中,按一下即將成為新角色持有者的網域控制站,再按一下 [確定]。
  4. 在主控台樹狀目錄中,以滑鼠右鍵按一下 [Active Directory 使用者和電腦],指向 [所有工作],再按一下 [操作主機]。
  5. 按一下要轉移的角色所對應的索引標籤 (RID、PDC 或 基礎結構),再按一下 [變更]。
  6. 按一下 [確定],確認您要轉移角色,再按一下 [關閉]。
參考文章:
如何將 Windows 2000 網域控制站升級至 Windows Server 2003
HOW TO:在 Windows Server 2003 中檢視及轉移 FSMO 角色
使用 Ntdsutil.exe 抓取或傳輸 FSMO 角色到網域控制站
Windows Server 2003 Active Directory建置指南

星期一, 11月 21, 2005

[Win] 如何設定 ADMT 以便將 Windows 2000 遷移至 Windows Server 2003

呼~~ 這次的實作裡,又發生莫名的靈異現象,明明是很簡單的一個把目標的Domain Admin加入來源的Administrators裡,竟然出現一堆問題,不過也拜它所賜,讓我跑去書局才發現原來還有要注意的先前準備要做,才能順利使用ADMT,算是因禍得福吧。
作業環境:利用2000 Server 建立cymc.com、2003 Server 建立camel.com
cymc.com - camel.com
  • camel.com => 192.168.0.1(PC1)
  • cymc.com => 192.168.0.2(PC2)
PC1和PC2分別為網域裡唯一的網域控制站
==================================================
ADMT的用途
使用 ADMT 將使用者、群組和電腦從一個網域遷移到另一個網域,並且分析實際執行遷移程序之前以及之後會造成的影響。您可以在來源或目標網域 (Windows 2000、Windows Server 2003 或 Microsoft Windows XP) 的任何上級成員中安裝和執行 ADMT。 然而,最單純的設定是在目標樹系的網域控制站上安裝與執行 ADMT
建立信任
  1. 將來源網域設定為信任目標網域。
  2. 將目標網域設定為信任來源網域。
  • 因為作業環境上的關係,dcpromo時,精靈會一起建立。
  • 確認信任是否建立完成,以camel.com為例說明,【AD網域及信任】 ->點選【camel.com】右鍵內容->標籤的【信任】->欲檢查的信任關係->內容->標籤的【一般】->【確認】或是利用者用者登入網域檢查,假如信任關係已經建立完成,那cymc.com的使用者一定可以登入camel.com,不過因為PC1和PC2是網域控制站,除了是Enterprise admin外,還必須先給予(允許本機登入)的權限才可以登入。
群組
  1. 將來源網域的 Domain Admins 全域群組,新增至目標網域的系統管理員本機群組。
  2. 將目標網域的 Domain Admins 全域群組,新增至來源網域的系統管理員本機群組。
之所以要這樣做是因為擁有以下的權限才能執行ADMT:
  1. 目標網域的網域系統管理員權限。
  2. 來源網域中的系統管理員群組成員。
  3. 您所遷移的每部電腦上的系統管理員權限。
  4. 每部轉譯安全性之電腦上的系統管理員權限。
稽查
  1. 在來源網域上啟用使用者和群組管理成功與失敗的稽核。
  2. 在目標網域的「預設網域控制站」原則中,啟用稽核帳戶管理成功與失敗的稽
  • 已2003的路徑為例,系統管理工具 => 網域控制站安全性原則 => 安全性設定 => 本機原則 => 稽查原則 => 啟動稽查帳戶管理;搬移過程,在事件檢查簿裡可以看見類別目錄的帳戶管理資料。

登錄檔
在來源網域的 PDC 上,將 AllowPasswordExport:REG_DWORD:0x1 (即設為1)數值新增至下列登錄機碼:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA

  • 這樣在搬移的過程中,使用者的密碼才能一起搬過去目標網域。
  • 沒有的話,請自行新增。
網域等級
  1. 目標網域必須為2003或200純綷模式才可執行,預設為2000混合模式。
  2. 在建立AD時,必須選取「與Window 2000 伺服器前版伺服器相容」=> 允許匿名使用者帳號可以存取網域資訊,以及用來複製本機原則;或是將 Everyone 系統群組新增到目標網域上的 Pre-Windows 2000 Compatible Access 群組上。如果未執行此動作,則 ADMT 會記錄「拒絕存取」錯誤。若要執行此動作,請在目標網域控制站上使用「Active Directory 使用者和電腦」嵌入式管理單元,或在命令提示字元下使用下列語法:NET LOCALGROUP "Pre-Windows 2000 Compatible Access" Everyone /ADD
  3. 變更群組成員後,必須確保Everyone群組權限套用至匿名者,系統管理工具 => 網域控制站安全性原則 => 安全性設定 => 安全性選項 => 啟用"網路存取:讓Everyone權限套用到匿名使用者"
以上為執行ADMT時,必須先準備的動作,以確保過程中不會出現錯誤;之後請直接操作ADMT。
  • ADMT的ReadMe說明,這資料裡有許多已經發生過的實例錯誤,非常具有參考價值,實作時一定要詳讀,減少錯誤的發生。
  • Microsoft Windows Server 2003 Active Directory 技術寶典 CH7 這本書裡面也介紹的非常詳細,唯一的缺點是全部都是文字,讀起來會比較累。
參考資料
HOW TO:在 Windows Server 2003 中建立對 Windows NT 網域的信任
如何設定 ADMT 以便將 Windows NT 4.0 遷移至 Windows Server 2003
Microsoft Windows Server 2003 Active Directory 技術寶典 CH7
2003 Server 安裝光碟裡,ADMT的ReadMe說明

星期三, 10月 26, 2005

[Win] Windows 2000 網域控制站升級至 Windows Server 2003

這篇文章是我自己利用VMware實際模擬後的心得,從參考的文章裡擷取模擬過程中,我個人認為的重點利用紅色標記,綠色的標記則是我自己加進去的註解,實際上要操作的話,請再詳細讀閱參考資料的,以免把系統搞爛。

作業環境:利用2000 Server 建立三個網域,分別為:

cycu.com ── nsysu.com


cymc.cycu.com

DNS安裝於cycu.com、cymc.cycu.com和nsysu.com,每個DNS裡除了自己本身的正向AD領域外,還有其他兩個的正向次要領域。
  • cycu.com => 192.168.0.1
  • cymc.cycu.com => 192.168.0.2
  • nsysu.com => 192.168.0.3
主要的DNS設定為本身的IP。
===============================================
概述:
從 Windows Server 2003 安裝媒體的 \I386 資料夾執行 Windows Server 2003 adprep 命令,會為新增的 Windows Server 2003 網域控制站準備 Windows 2000 樹系及網域。
adprep 公用程式支援兩個命令列引數:
  • adprep /forestprep:執行樹系升級作業。
  • adprep /domainprep:執行網域升級作業。
只有裝載架構操作主機的網域上才需要同時執行 adprep /forestprep 及 adprep /domainprep。在所有其他的網域中,您只需要執行 adprep /domainprep。
adprep /forestprep 及 adprep /domainprep 命令不會新增屬性到通用類別目錄部分屬性集,或引發通用類別目錄的同步處理。RTM 版本的 adprep /domainprep 會引發 Sysvol 樹狀目錄中 \Policies 資料夾的完整同步處理。即使您多次執行 forestprep 及 domainprep,完成的作業只會執行一次。


完成複寫 adprep /forestprep 及 adprep /domainprep 所作的變更之後,您可以執行 Windows Server 2003 安裝媒體 \I386 資料夾中的 Winnt32.exe,將 Windows 2000 網域控制站升級到 Windows Server 2003。此外,您可以使用 Dcpromo.exe 將新的 Windows Server 2003 網域控制站新增到網域。
使用adprep/forestprep命令升級樹系
執行adprep /forestprep必須先確定:
  1. 建立系統狀態備份。
  2. 樹系中所有 Windows 2000 網域控制站都已安裝適當的 Hotfix 及 Service Pack。
  3. 整個樹系的端對端 Active Directory 複寫。
  4. 在 Windows NT 命令提示字元中輸入下列命令,以確認架構 FSMO 已經執行架構磁碟分割的輸入複寫: repadmin /showreps
    (repadmin 是透過 Active Directory 的 Support\Tools 資料夾加以安裝)。
    => 這項檢查非常重要,主要是檢查DNS的解析是否正確,一定要檢查。
在架構操作主機上執行 adprep。如果要執行這項操作,請按一下 [開始],再按一下 [執行],輸入 cmd,然後按 [確定]。 在架構操作主機上,輸入下列命令
X:\I386\adprep /forestprep,其中 X:\I386\ 是 Windows Server 2003 安裝媒體的路徑。這個命令會執行整個樹系的架構升級。
注意 您可以忽略記錄在「目錄服務」事件日誌中,事件 ID 1153 的事件,如下列範例所示:

  • 事件類型:錯誤
  • 事件來源:NTDS
  • 一般事件類別目錄:正在進行內部處理
  • 事件 ID:1153
  • 日期:MM/DD/YYYY時間:上午下午 HH:MM:SS
  • 使用者:所有人電腦:<部分 DC>
  • 描述:類別識別元 655562 (類別名稱msWMI-MergeablePolicyTemplate) 的超級類別 655560 不正確。繼承已被忽略。
=> 這個事件會出現在nsysu.com和cymc.cycu.com的事件檢查器裡。
確認 adprep /forestprep 命令在架構操作主機上順利地執行。如果要執行這項操作,請在架構操作主機的主控台上,確認下列項目:
  • adprep /forestprep 命令已經完成,並且沒有任何錯誤。
  • 在 CN=ForestUpdates,CN=Configuration,DC=forest_root_domain. 記下 Revision (修定)屬性的值。

以上兩項檢查請至%systemroot%\System32\Debug\Adprep\Logs\Latest_log 資料夾中的 Adprep.log檔案的最尾端去確認 Debug資料夾必須執行adprep後才會出現。
使用「站台及服務管理員」嵌入式管理單元啟始複寫:
  1. 按一下 [開始],指向 [程式集],指向 [系統管理工具],再按一下 [Active Directory 站台及服務]。
  2. 展開左方窗格的中的 [站台] 容器。展開需與其複寫協力電腦進行同步處理的目標伺服器所在的站台名稱之代表容器。
  3. 展開 [伺服器] 容器,然後展開 [目標] 伺服器,以顯示 [NTDS 設定] 物件 (代表網域控制站的設定之物件)。
  4. 按一下 [NTDS 設定] 物件。右方窗格中的連線物件代表目標伺服器的直接複寫協力電腦。
  5. 在右方窗格中的連線物件上按一下右鍵,再按一下 [立即複寫]。此時 Windows 2000 便會啟始複寫,為目標伺服器中設定為從來源伺服器複寫過來的所有目錄磁碟分割,將來自來源伺服器 (連線物件所代表的伺服器) 的任何變更複寫至目標伺服器。
使用 adprep /domainprep 命令升級網域
在 /forestprep 變更完整地複寫至將要裝載 Windows Server 2003 網域控制站的每個網域中基礎結構主機網域控制站之後,再執行 adprep /domainprep。=>一定要確定複寫成功後才能執行adprep /domainprep
在基礎結構主機上執行 adprep /domainprep。如果要執行這項操作,請按一下 [開始],再按一下 [執行],輸入 cmd,然後在基礎結構主機上輸入下列命令:
X:\I386\adprep /domainprep,其中 X:\I386\ 是 Windows Server 2003 安裝媒體的路徑。 這個命令會在目標網域中執行整個網域的變更。

確認 domainprep 已順利完成。如果要執行這項操作,請檢查下列項目:
  • adprep /domainprep 命令已經完成,並且沒有任何錯誤。
  • 存有 CN=Windows2003Update,CN=DomainUpdates,CN=System,DC=dn path of domain you are upgrading 物件,並且 Revision 屬性的值符合網域中基礎結構主機相同屬性的值。
以上兩項檢查請至%systemroot%\System32\Debug\Adprep\Logs\Latest_log 資料夾中的 Adprep.log檔案的最尾端去確認 Debug資料夾必須執行adprep後才會出現。
使用 Winnt32.exe 升級 Windows 2000 網域控制站
在您完整地複寫 /forestprep 及 /domainprep 所做的變更,並且做出有關較舊版本用戶端中安全性交互操作性的決策之後,可以將 Windows 2000 網域控制站升級為 Windows Server 2003,並在網域中增加新的 Windows Server 2003 網域控制站。
下列電腦必須在每個網域的樹系中執行 Windows Server 2003 的第一個網域控制站之間:
  • 樹系中的網域命名主機,如此,您可以建立預設的 DNS 程式分割。
  • 樹系根網域的網域主控制站,如此,Windows Server 2003 的 forestprep 新增的整個企業安全性原則就會變成可以在 ACL 編輯器中看到。
  • 每個非根網域中的網域主控制站,如此,您可以建立新的網域特定 Windows 2003 安全性原則。
如果要執行這項操作,請使用 WINNT32,以便升級裝載了您想要的操作角色的現有網域控制站。或者,將角色轉移至剛升級的 Windows Server 2003 網域控制站。
檢查每個網域控制站,看看是否出現可能的升級問題。如果要執行這項操作,請從安裝媒體的 \I386 資料夾執行下列命令: winnt32.exe /checkupgradeonly解決相容性檢查所識別的任何問題。=> 執行上述指令會先上MS的網站搜尋是否有新的更新檔或是直接進行升級時,也會詢問是否要搜尋更新檔。
使用下列資料點來檢查升級的狀態:
  • 升級已順利地完成。
  • 網域控制站正在執行所有命令內容的 Active Directory 輸入及輸出複寫。
  • 事件日記指出網域控制站及其服務狀況良好。
注意:升級之後,您可能收到下列事件訊息:
  • 事件類型:錯誤事件
  • 來源:NTDS 備份事件
  • 類別目錄:備份
  • 事件 ID:1913
  • 日期:Date時間:上午下午 HH:MM:SS
  • 使用者:N/A電腦:computername
  • 描述:內部錯誤:Active Directory 備份及還原作業發生意外的錯誤。問題修正之前,備份或還原將無法成功。
您可以安心地忽略這個事件訊息。
參考資料:
執行 Adprep /Forestprep 之前,必須安裝在 Windows 2000 網域控制站上的 Hotfix
如何將Windows 2000網域控制站升級Windows Server 2003
啟始 Active Directory 直接複寫協力電腦之間的複寫