共用方式為


如何將 Windows 2000 域控制器升級至 Windows Server 2003

本文討論如何將 Microsoft Windows 2000 域控制器升級至 Windows Server 2003,以及如何將新的 Windows Server 2003 域控制器新增至 Windows 2000 網域。

原始 KB 編號: 325379

摘要

本文討論如何將 Microsoft Windows 2000 域控制器升級至 Windows Server 2003,以及如何將新的 Windows Server 2003 域控制器新增至 Windows 2000 網域。 如需如何將域控制器升級至 Windows Server 2008 或 Windows Server 2008 R2 的詳細資訊,請流覽下列Microsoft網站:

升級域控制器:Microsoft 支援服務 將 Windows Server 2008 或 Windows Server 2008 R2 域控制器新增至現有網域的快速入門

網域和樹系清查

將 Windows 2000 域控制器升級至 Windows Server 2003 或將新的 Windows Server 2003 域控制器新增至 Windows 2000 網域之前,請遵循下列步驟:

  1. 清查可存取裝載 Windows Server 2003 域控制器之網域中資源的用戶端,以與 SMB 簽署相容:

    每個 Windows Server 2003 域控制器都會在其本機安全策略中啟用 SMB 登入。 請確定使用SMB/CIFS通訊協定存取裝載 Windows Server 2003 域控制器之網域中共用檔案和印表機的所有網路用戶端,都可以設定或升級以支援 SMB 簽署。 如果無法,請暫時停用SMB簽署,直到安裝更新或客戶端升級至支援SMB簽署的較新作業系統為止。 如需如何停用 SMB 簽署的詳細資訊,請參閱 此步驟結尾的<若要停用 SMB 簽署 >一節。

    行動計劃

    下列清單顯示熱門SMB客戶端的行動計劃:

    • Microsoft Windows Server 2003、Microsoft Windows XP Professional、Microsoft Windows 2000 Server、Microsoft Windows 2000 專業版,Microsoft Windows 98

      您不需要執行任何動作。

    • Microsoft Windows NT 4.0 安裝 Service Pack 3 或更新版本(建議使用 Service Pack 6A)在所有 Windows NT 4.0 型計算機上存取包含 Windows Server 2003 計算機之網域的 Windows NT 4.0 計算機。 相反地,暫時停用 Windows Server 2003 域控制器上的 SMB 簽署。 如需如何停用 SMB 簽署的詳細資訊,請參閱 此步驟結尾的<若要停用 SMB 簽署 >一節。

    • Microsoft Windows 95

      在 Windows 95 型電腦上安裝 Windows 9 x 目錄服務用戶端,或暫時停用 Windows Server 2003 域控制器上的 SMB 簽署。 原始的 Win9 x 目錄服務用戶端可在 Windows 2000 Server CD-ROM 上使用。 不過,該用戶端附加元件已由改良的 Win9 x 目錄服務用戶端取代。 如需如何停用 SMB 簽署的詳細資訊,請參閱 此步驟結尾的<若要停用 SMB 簽署 >一節。

    • 適用於 MS-DOS 和 Microsoft LAN Manager 用戶端的 Microsoft 網路用戶端

      MS-DOS 的 Microsoft 網路用戶端和 Microsoft LAN Manager 2.x 網路用戶端可用來提供網路資源的存取權,或者它們可能會與可開機的軟盤結合,從文件伺服器上的共用目錄複製操作系統檔案和其他檔案,作為軟體安裝例程的一部分。 這些客戶端不支援SMB簽署。 使用替代安裝方法,或停用SMB簽署。 如需如何停用 SMB 簽署的詳細資訊,請參閱 此步驟結尾的<若要停用 SMB 簽署 >一節。

    • Macintosh 用戶端

      有些 Macintosh 用戶端與 SMB 簽署不相容,而且會在嘗試連線到網路資源時收到下列錯誤訊息:

      - 錯誤 -36 I/O

      如果有可用的軟體,請安裝更新的軟體。 否則,請在 Windows Server 2003 域控制器上停用 SMB 簽署。 如需如何停用 SMB 簽署的詳細資訊,請參閱 此步驟結尾的<若要停用 SMB 簽署 >一節。

    • 其他第三方SMB用戶端

      某些第三方SMB用戶端不支援SMB簽署。 請參閱您的SMB提供者,以查看更新的版本是否存在。 否則,請在 Windows Server 2003 域控制器上停用 SMB 簽署。

    停用SMB簽署

    如果無法在執行 Windows 95、Windows NT 4.0 或 Windows Server 2003 之前安裝的其他用戶端上安裝軟體更新,請在組策略中暫時停用 SMB 服務簽署需求,直到您可以部署更新的用戶端軟體為止。

    您可以在域控制器組織單位上停用下列域控制器原則節點的 SMB 服務登入:計算機設定\Windows 設定\安全性設定\本機原則\安全性選項\Microsoft網络伺服器:

    數位簽署通訊(一律)

    如果域控制器不在域控制器的組織單位中,您必須將預設域控制器的組策略物件 (GPO) 連結到裝載 Windows 2000 或 Windows Server 2003 域控制器的所有組織單位。 或者,您可以在連結到這些組織單位的 GPO 中設定 SMB 服務登入。

  2. 清查網域和樹系中的域控制器:

    1. 請確定樹系中的所有 Windows 2000 域控制器都已安裝所有適當的 Hotfix 和 Service Pack。

      Microsoft建議所有 Windows 2000 域控制器都執行 Windows 2000 Service Pack 4 (SP4) 或更新版本的操作系統。 如果您無法完全部署 Windows 2000 SP4 或更新版本,則所有 Windows 2000 域控制器 都必須 有Ntdsa.dll檔案,其日期戳記和版本晚於 2001 年 6 月 4 日和 5.0.2195.3673。

      根據預設,Windows 2000 SP4、Windows XP 和 Windows Server 2003 用戶端電腦上的 Active Directory 系統管理工具會使用輕量型目錄存取通訊協定 (LDAP) 簽署。 如果這類計算機在遠端管理 Windows 2000 域控制器時使用(或回復為)NTLM 驗證,聯機將無法運作。 若要解決此行為,遠端管理的域控制器至少應該已安裝 Windows 2000 SP3。 否則,您應該關閉執行管理工具之用戶端上的LDAP簽署。

      下列案例使用 NTLM 驗證:

      • 您可以管理位於 NTLM (非 Kerberos) 信任所連線之外部樹系中的 Windows 2000 域控制器。
      • 您可以將Microsoft管理主控台 (MMC) 嵌入式管理單元放在IP位址所參考的特定域控制器上。 例如,您按兩下列指令 [執行],然後輸入下列命令:dsa.msc /server=ipaddress

      若要判斷 Active Directory 網域中 Active Directory 域控制器的操作系統和 Service Pack 修訂層級,請在樹系中的每個網域中,安裝 Windows XP Professional 或 Windows Server 2003 成員計算機上的 Windows Server 2003 Repadmin.exe 版本,然後針對樹系中每個網域中的域控制器執行下列 repadmin 命令:

      >repadmin /showattr <name of the domain controller that is in the target domain> ncobj:domain: /filter:"(&(objectCategory=computer)(primaryGroupID=516))" /subtree /atts:operatingSystem,operatingSystemVersion,operatingSystemServicePack
      
      DN: CN=NA-DC-01,organizational unit=Domain Controllers,DC=company,DC=com
       1> operatingSystem: Windows Server 2003
       1> operatingSystemVersion: 5.2 (3718)
      DN: CN=NA-DC-02,organizational unit=Domain Controllers,DC=company,DC=com
       1> operatingSystem: Windows 2000 Server
       1> operatingSystemVersion: 5.0 (2195)
       1> operatingSystemServicePack: Service Pack 1
      

      注意

      域控制器的屬性不會追蹤個別 Hotfix 的安裝。

    2. 確認整個樹系的端對端 Active Directory 複寫。

      確認升級樹系中的每個域控制器都會以月臺連結或連接物件所定義的排程,一致地復寫其所有本機保留的命名內容。 在具有下列自變數的 Windows XP 或 Windows Server 2003 型成員電腦上,使用 Windows Server 2003 版的 Repadmin.exe:樹系中的所有域控制器都必須復寫 Active Directory,且 repadmin 輸出之 「最大差異」數據行中的值不應明顯大於指定目的地網域所使用之對應月台鏈接或聯機物件上的復寫頻率控制器。

      解決域控制器之間的所有復寫錯誤,這些域控制器在少於 Tombstone 存留期 (TSL) 天數 (預設為 60 天) 內輸入複寫。 如果無法進行複寫以運作,您可能必須強制降級域控制器,並使用 Ntdsutil 元數據清除命令將其從樹系中移除,然後將域控制器升級回樹系。 您可以使用強制降級來儲存作業系統安裝和孤立域控制器上的程式。 如需如何從其網域中移除孤立的 Windows 2000 域控制器的詳細資訊,請按下列文章編號,以檢視Microsoft知識庫中的文章:

      216498 如何在網域控制站降級失敗後,移除 Active Directory 中的資料

      請只採取此動作作為復原操作系統和已安裝程式安裝的最後手段。 您將遺失孤立域控制器上的未復寫物件和屬性,包括使用者、計算機、信任關係、其密碼、群組和群組成員資格。

      當您嘗試解決域控制器上的復寫錯誤時,若域控制器未針對特定 Active Directory 分割區複寫輸入變更, 超過 mbstonelifetime 天數,請小心。 當您這樣做時,您可以重新調整在一個域控制器上刪除的物件,但在過去 60 天內,直接或可轉移的復寫夥伴從未收到刪除。

      請考慮移除位於過去 60 天內未執行輸入複寫之域控制器上的任何揮之不去的物件。 或者,您可以使用 Ntdsutil 和其他公用程式,強制降級未在指定分割區上執行任何輸入複寫的域控制器,並移除其在 Active Directory 樹系中的剩餘元數據。 請連絡您的支援提供者或Microsoft PSS 以取得其他協助。

    3. 確認 Sysvol 共用的內容一致。

      確認組策略的文件系統部分是一致的。 您可以使用資源套件中的Gpotool.exe來判斷網域原則中是否有不一致的情況。 使用 Windows Server 2003 支援工具的 Healthcheck 來判斷 Sysvol 共用副本集在每個網域中是否正常運作。

      如果 Sysvol 共用的內容不一致,請解決所有不一致的情況。

    4. 使用支援工具中的Dcdiag.exe,確認所有域控制器都有共用 Netlogon 和 Sysvol 共用。 若要這樣做,請在命令提示字元中輸入下列命令:

      DCDIAG.EXE /e /test:frssysvol
      
    5. 清查作業角色。

      架構和基礎結構作業主機可用來對樹系及其 Windows Server 2003 adprep 公用程式所建立的樹系和全網域架構變更引入樹系和全網域架構變更。 確認裝載樹系中每個網域的架構角色和基礎結構角色的域控制器位於即時域控制器上,而且自上次重新啟動之後,每個角色擁有者已在所有分割區上執行輸入複寫。

      DCDIAG /test:FSMOCHECK命令可用來檢視全樹系和全網域的操作角色。 位於不存在域控制器上的作業主要角色,應使用NTDSUTIL將它查獲到狀況良好的域控制器。 如果可能的話,應該傳輸位於狀況不良域控制器上的角色。 否則,應沒收它們。 此命令 NETDOM QUERY FSMO 不會識別位於已刪除域控制器上的 FSMO 角色。

      確認 自上次開機后,已執行 Active Directory 的輸入複寫。 您可以使用 命令來驗證 REPADMIN /SHOWREPS DCNAME 輸入複寫,其中 DCNAME 是 NetBIOS 計算機名稱或域控制器的完整電腦名稱。 如需作業主機及其位置的詳細資訊,請按兩下列文章編號,以檢視Microsoft知識庫中的文章:

      197132 Windows 2000 Active Directory FSMO 角色

      223346 Active Directory 域控制器上的 FSMO 位置和優化

    6. EventLog 檢閱

      檢查所有域控制器上的事件記錄檔是否有問題事件。 事件記錄不能包含嚴重事件訊息,指出下列任何進程和元件發生問題:

      實體連線能力
      網路連線能力
      名稱註冊
      名稱解析
      驗證 (authentication)
      群組原則
      安全性原則
      磁碟子系統
      schema
      拓撲
      複寫引擎

    7. 磁碟空間清查

      裝載 Active Directory 資料庫檔案 Ntds.dit 的磁碟區必須具有至少等於 Ntds.dit 檔案大小的 15-20% 的可用空間。 裝載 Active Directory 記錄檔的磁碟區也必須具有等於 Ntds.dit 檔案大小至少 15-20% 的可用空間。 如需如何釋放其他磁碟空間的詳細資訊,請參閱本文的一節。

    8. DNS 清除 (選擇性)

      為樹系中的所有 DNS 伺服器啟用 7 天的 DNS 清除。 為了獲得最佳結果,請在升級操作系統前61天以上執行這項作業。 這會在 Ntds.dit 檔案上執行離線重組時,提供 DNS 清除精靈足夠的時間來垃圾收集過時的 DNS 物件。

    9. 停用 DLT 伺服器服務 (選擇性)

      DLT Server 服務會在 Windows Server 2003 域控制器的新和升級安裝上停用。 如果未使用分散式連結追蹤,您可以在 Windows 2000 域控制器上停用 DLT Server 服務,並開始從樹系中的每個網域刪除 DLT 物件。 如需詳細資訊,請參閱下列Microsoft知識庫中的一節: 312403 Windows 型域控制器上的分散式鏈接追蹤

    10. 系統狀態備份

      在樹系中的每個網域中,建立至少兩個域控制器的系統狀態備份。 如果升級無法運作,您可以使用備份來復原樹系中的所有網域。

Microsoft Windows 2000 樹系中的 Exchange 2000

注意

  • 如果在 Windows 2000 樹系中安裝或將安裝 Exchange 2000 Server,請先閱讀本節,再執行 Windows Server 2003 adprep /forestprep 命令。
  • 如果Microsoft已安裝 Exchange Server 2003 架構變更,請在執行 Windows Server 2003 命令之前,移至 [概觀:將 Windows 2000 域控制器升級至 Windows Server 2003adprep] 區段。

Exchange 2000 架構會定義三個 inetOrgPerson 屬性,其中包含不符合批注要求 (RFC)規範的 LDAPDisplayNames:houseIdentifier、秘書和 labeledURI。

Windows 2000 inetOrgPerson Kit 和 Windows Server 2003 adprep 命令會定義相同 LDAPDisplayNames 與不符合 RFC 規範版本的相同三個屬性的 RFC 投訴版本。

當 Windows Server 2003 adprep /forestprep 命令在包含 Windows 2000 和 Exchange 2000 架構變更的樹系中執行時,houseIdentifier、labeledURI 和秘書屬性的 LDAPDisplayNames 就會變得滿分。 如果 「Dup」 或其他唯一字元新增至衝突屬性名稱的開頭,讓目錄中的物件和屬性具有唯一名稱,則屬性會變成「受騙」。

在下列情況下,Active Directory 樹系不會容易受到這些屬性的管理 LDAPDisplayNames 攻擊:

  • 如果您在包含 Windows 2000 架構的樹系中執行 Windows Server 2003 adprep /forestprep 命令,再新增 Exchange 2000 架構。
  • 如果您在建立的樹系中安裝 Exchange 2000 架構,其中 Windows Server 2003 域控制器是樹系中的第一個域控制器。
  • 如果您將 Windows 2000 inetOrgPerson Kit 新增至包含 Windows 2000 架構的樹系,然後安裝 Exchange 2000 架構變更,然後執行 Windows Server 2003 adprep /forestprep 命令。
  • 如果您將 Exchange 2000 架構新增至現有的 Windows 2000 樹系,請在執行 Windows Server 2003 命令之前執行 Exchange 2003 adprep /forestprep /forestprep。

在下列情況下,Windows 2000 中會發生管理屬性:

  • 如果您在安裝 Windows 2000 inetOrgPerson Kit 之前,將 labeledURI 的 Exchange 2000 版本、houseIdentifier 和秘書屬性新增至 Windows 2000 樹系。
  • 您會在執行 Windows Server 2003 adprep /forestprep 命令之前,先將標記為URI 的 Exchange 2000 版本、houseIdentifier 和秘書屬性新增至 Windows 2000 樹系,而不需要先執行清除腳本。 每個案例的行動計劃如下:

案例 1:執行 Windows Server 2003 adprep /forestprep 命令之後,會新增 Exchange 2000 架構變更

如果在執行 Windows Server 2003 adprep /forestprep 命令之後,將 Exchange 2000 架構變更引入 Windows 2000 樹系,則不需要清除。 移至<概觀:將 Windows 2000 域控制器升級至 Windows Server 2003>一節。

案例 2:將在 Windows Server 2003 adprep /forestprep 命令之前安裝 Exchange 2000 架構變更

如果已安裝 Exchange 2000 架構變更,但尚未執行 Windows Server 2003 adprep /forestprep 命令,請考慮下列行動計劃:

  1. 使用屬於 Schema Admins 安全組成員的帳戶,登入架構作業主機的控制台。

  2. 按兩下 [開始],按兩下 [執行],在 [開啟] 方塊中輸入notepad.exe,然後按兩下 [確定]。

  3. 將下列文字,包括 「schemaUpdateNow: 1」 後面的尾端連字元複製到 [記事本]。

    dn: CN=ms-Exch-Assistant-Name,CN=Schema,CN=Configuration,DC=X
    changetype:Modify
    replace:LDAPDisplayName
    LDAPDisplayName: msExchAssistantName
    -

    dn: CN=ms-Exch-LabeledURI,CN=Schema,CN=Configuration,DC=X
    changetype:Modify
    replace:LDAPDisplayName
    LDAPDisplayName: msExchLabeledURI
    -

    dn: CN=ms-Exch-House-Identifier,CN=Schema,CN=Configuration,DC=X
    changetype:Modify
    replace:LDAPDisplayName
    LDAPDisplayName: msExchHouseIdentifier
    -

    dn:
    changetype:Modify
    add:schemaUpdateNow
    schemaUpdateNow:1
    -

  4. 確認每一行結尾沒有空格。

  5. 在 [檔案] 功能表上,按一下 [儲存]。 在 [另存新檔] 對話方塊中執行下列步驟:

    1. 在 [ 檔名] 方塊中,輸入下列專案: \%userprofile%\InetOrgPersonPrevent.ldf
    2. 在 [ 另存新檔類型 ] 方塊中,按兩下 [ 所有檔案]。
    3. 在 [編碼] 方塊中,按兩下 [Unicode]。
    4. 按一下 [檔案] 。
    5. 結束記事本。
  6. 執行 InetOrgPersonPrevent.ldf 腳本。

    1. 按兩下 [開始],按兩下 [執行],在 [開啟] 方塊中輸入 Cmd,然後按兩下 [確定]。

    2. 在命令提示字元中,輸入下列命令,然後按 ENTER: cd %userprofile%

    3. 輸入下列命令

    c:\documents and settings\%username%>ldifde -i -f inetorgpersonprevent.ldf -v -c DC=X "domain name path for forest root domain"
    

    語法注意事項:

    • DC=X 是區分大小寫的常數。
    • 根域的域名路徑必須以引號括住。

    例如,其樹系根域為 TAILSPINTOYS.COM 之 Active Directory 樹系的命令語法為:

    c:\documents and settings\administrator>ldifde -i -f inetorgpersonprevent.ldf -v -c DC=X “dc=tailspintoys,dc=com”

    注意

    如果您收到下列錯誤訊息,您可能需要變更 [架構更新允許 的登錄] 子機碼:此 DC 上不允許架構更新,因為登錄機碼未設定,或 DC 不是架構 FSMO 角色擁有者。

  7. 在執行 Windows Server 2003 adprep /forestprep 命令之前,請確認 CN=ms-Exch-Assistant-Name、CN=ms-Exch-LabeledURI 和 CN=ms-Exch-House-Identifier 屬性的 LDAPDisplayNames 現在會顯示為 msExchAssistantName、msExchLabeledURI 和 msExchHouseIdentifier。

  8. 移至 [概觀:將 Windows 2000 域控制器升級至 Windows Server 2003] 區段,以執行 adprep /forestprep/domainprep 命令。

案例 3:未先執行 inetOrgPersonFix,即執行 Windows Server 2003 樹系prep 命令

如果您在包含 Exchange 2000 架構變更的 Windows 2000 樹系中執行 Windows Server 2003 adprep /forestprep 命令,則 houseIdentifier、秘書和 labeledURI 的 LDAPDisplayName 屬性將會變得受損。 若要識別受管理的名稱,請使用Ldp.exe找出受影響的屬性:

  1. 從 Microsoft Windows 2000 或 Windows Server 2003 媒體的 Support\Tools 資料夾安裝Ldp.exe。

  2. 從樹系中的域控制器或成員計算機啟動Ldp.exe。

    1. 在 [連線] 功能表上,按兩下 [連線],將 [伺服器] 方塊保留空白,在 [埠] 方塊中輸入 389,然後按下 [確定]。
    2. 在 [連線] 功能表上,單擊 [系結],將所有方塊保留空白,然後按兩下 [確定]。
  3. 記錄 SchemaNamingContext 屬性的辨別名稱路徑。 例如,對於 CORP.ADATUM.COM 樹系中的域控制器,辨別名稱路徑可能是 CN=Schema,CN=Configuration,DC=corp,DC=company,DC=com。

  4. 在 [ 流覽] 功能表上,單擊 [ 搜尋]。

  5. 使用下列設定來設定 [ 搜尋 ] 對話框:

    • 基底 DN:步驟 3 中識別之架構命名內容的辨別名稱路徑。
    • 篩選:(ldapdisplayname=dup*)
    • 範圍:子樹
  6. Mangled houseIdentifier、秘書和 labeledURI 屬性具有類似下列格式的 LDAPDisplayName 属性:

    LDAPDisplayName: DUP-labeledURI-9591bbd3-d2a6-4669-afda-48af7c35507d;
    LDAPDisplayName: DUP-secretary-c5a1240d-70c0-455c-9906-a4070602f85f
    LDAPDisplayName: DUP-houseIdentifier-354b0ca8-9b6c-4722-aae7-e66906cc9eef

  7. 如果 labeledURI、秘書和 houseIdentifier 的 LDAPDisplayNames 在步驟 6 中遭到管理,請執行 Windows Server 2003 InetOrgPersonFix.ldf 腳本來復原,然後移至[使用 Winnt32.exe 升級 Windows 2000 域控制器] 區段。

    1. 建立名為 %Systemdrive%\IOP 的資料夾,然後將 InetOrgPersonFix.ldf 檔案解壓縮到此資料夾。

    2. 在命令提示中,鍵入 cd %systemdrive%\iop

    3. 從 Windows Server 2003 安裝媒體的 Support\Tools 資料夾中的 Support.cab 檔案擷取 InetOrgPersonFix.ldf 檔案。

    4. 從架構作業主機的控制台中,使用 Ldifde.exe 載入 InetOrgPersonFix.ldf 檔案,以更正 houseIdentifier、秘書和 labeledURI 屬性的 LdapDisplayName 屬性。 若要這樣做,請輸入下列命令,其中 <X> 是區分大小寫的常數,而 <樹系根域的 dn 路徑是樹系根域> 的功能變數名稱路徑:

      C:\IOP>ldifde -i -f inetorgpersonfix.ldf -v -c DC=X "domain name path for forest root domain"
      

      語法注意事項:

      • DC=X 是區分大小寫的常數。
      • 樹系根域的域名路徑必須以引弧括住。
  8. 在安裝 Exchange 2000 之前,請確認架構命名內容中的 houseIdentifier、秘書和標籤URI 屬性不會「受管理」。

概觀:將 Windows 2000 域控制器升級至 Windows Server 2003

您從 Windows Server 2003 媒體的 \I386 資料夾執行的 Windows Server 2003 adprep 命令會準備 Windows 2000 樹系及其網域,以新增 Windows Server 2003 域控制器。 Windows Server 2003 adprep /forestprep 命令會新增下列功能:

  • 已改善物件類別的預設安全性描述元

  • 新的使用者和群組屬性

  • inetOrgPerson 之類的新架構物件和屬性:adprep 公用程式支援兩個命令行自變數:

    • adprep /forestprep:執行樹系升級作業。
    • dprep /domainprep:執行網域升級作業。

此命令 adprep /forestprep 是在樹系的架構作業主機 (FSMO) 上執行的一次性作業。 樹系prep 作業必須先完成並復寫至每個網域的基礎結構主機,才能在該網域中執行 adprep /domainprep

此命令 adprep /domainprep 是在樹系中每個網域的基礎結構作業主要域控制器上執行的一次性作業,將裝載新的或升級的 Windows Server 2003 域控制器。 adprep /domainprep命令會驗證來自樹系prep的變更已在網域分割區中復寫,然後對 Sysvol 共用中的網域分割和組策略進行自己的變更。

除非 /forestprep 和 /domainprep 作業已完成並復寫到該網域中的所有域控制器,否則您無法執行下列任一動作:

  • 使用 Winnt32.exe,將 Windows 2000 域控制器升級至 Windows Server 2003 域控制器。

注意

您可以視需要將 Windows 2000 成員伺服器和電腦升級至 Windows Server 2003 成員電腦。 使用 Dcpromo.exe,將新的 Windows Server 2003 域控制器升級至網域。裝載架構作業主機的網域是唯一必須執行 adprep /forestprepadprep /domainprep的網域。 在所有其他網域中,您只需要執行 adprep /domainprep

adprep /forestprepadprep /domainprep 命令不會將屬性新增至全域編錄部分屬性集,或造成全域編錄的完整同步處理。 RTM 版本 adprep /domainprep 確實會導致 Sysvol 樹狀目錄中 \Policies 資料夾的完整同步處理。 即使您執行樹系prep和 domainprep 數次,已完成的作業只會執行一次。

adprep /forestprepadprep /domainprep 完全復寫變更之後,您可以從 Windows Server 2003 媒體的 \I386 資料夾執行 Winnt32.exe,將 Windows 2000 域控制器升級至 Windows Server 2003。 此外,您也可以使用 Dcpromo.exe,將新的 Windows Server 2003 域控制器新增至網域。

使用 adprep /forestprep 命令升級樹系

若要準備 Windows 2000 樹系和網域以接受 Windows Server 2003 域控制器,請先在實驗室環境中,然後在生產環境中遵循下列步驟:

  1. 請確定您已完成「樹系清查」階段中的所有作業,並特別注意下列專案:

    1. 您已建立系統狀態備份。
    2. 樹系中的所有 Windows 2000 域控制器都已安裝所有適當的 Hotfix 和 Service Pack。
    3. Active Directory 的端對端複寫發生在整個樹系中
    4. FRS 會在整個網域中正確複寫文件系統原則。
  2. 使用屬於 Schema Admins 安全組成員的帳戶登入架構作業主機的控制台。

  3. 在 Windows NT 命令提示字元中輸入下列命令,確認架構 FSMO 已執行架構分割區的輸入複寫: repadmin /showreps

    (repadmin 是由 Active Directory 的 Support\Tools 資料夾所安裝。

  4. 早期Microsoft文件建議您在執行 之前 adprep /forestprep,先隔離專用網路上的架構作業主機。 實際體驗建議不需要此步驟,而且可能會導致架構作業主機在專用網重新啟動時拒絕架構變更。

  5. 在架構作業主機上執行 adprep 。 若要這樣做,請按兩下 [開始],按兩下 [執行],輸入 cmd,然後按兩下 [確定]。 在架構作業主機上,輸入下列命令:

     X:\I386\adprep /forestprep
    

    其中 X:\I386\ 是 Windows Server 2003 安裝媒體的路徑。 此命令會執行整個樹系架構升級。

    注意

    您可以忽略記錄在目錄服務事件記錄檔中具有事件識別碼 1153 的事件,例如下列範例:

  6. 確認 adprep /forestprep 命令已成功在架構作業主機上執行。 若要這樣做,請從架構作業主機的控制台確認下列專案: - adprep /forestprep 命令已完成,而不會發生錯誤。 - CN=Windows2003Update 物件是以 CN=ForestUpdates,CN=Configuration,DC= forest_root_domain撰寫。 記錄 Revision 屬性的值。 - (選擇性) 架構版本遞增至第 30 版。 若要這樣做,請參閱 CN=Schema,CN=Configuration,DC= forest_root_domain下的 ObjectVersion 屬性。如果未 adprep /forestprep 執行,請確認下列專案:

    • 執行時 adprep ,指定安裝媒體 \I386 資料夾中Adprep.exe的完整路徑。 若要這樣做,請輸入下列命令:

      x:\i386\adprep /forestprep
      

      其中 x 是裝載安裝媒體的磁碟驅動器。

    • 執行 adprep 的登入使用者具有 Schema Admins 安全組的成員資格。 若要確認這一點,請使用 whoami /all 命令。

    • 如果 adprep 仍然無法運作,請在 %systemroot%\System32\Debug\Adprep\Logs\Latest_log 資料夾中檢視Adprep.log 檔案。

  7. 如果您在步驟 4 的架構作業主要複寫上停用輸出複寫,請啟用複寫,讓 所 adprep /forestprep 進行的架構變更可以傳播。 若要這樣做,請遵循下列步驟:

    1. 依序按一下 [ 開始] 和 [ 執行]、輸入 cmd,然後按一下 [ 確定]。
    2. 輸入下列內容,然後按 ENTER: repadmin /options -DISABLE_OUTBOUND_REPL
  8. 確認 adprep /forestprep 變更已在樹系中的所有域控制器上複寫。 監視下列屬性很有用:

    1. 遞增架構版本
    2. CN=Windows2003Update、CN=ForestUpdates、CN=Configuration、DC= forest_root_domain 或 CN=Operations,CN=DomainUpdates,CN=System,DC= forest_root_domain,以及其下已復寫的作業 GUID。
    3. 搜尋新的架構類別、對象、屬性或其他新增的變更 adprep /forestprep ,例如 inetOrgPerson。 檢視 %systemroot%\System32 資料夾中的 Sch XX.ldf 檔案(其中 XX 是介於 14 到 30 之間的數位),以判斷應該有哪些對象和屬性。 例如,inetOrgPerson 定義於 Sch18.ldf 中。
  9. 尋找受管理 LDAPDisplayNames。 如果您發現名稱有問題,請移至相同文章的案例 3。

  10. 使用裝載架構作業主機之樹系之 Schema Admins 群組安全組成員的帳戶登入架構作業主機控制台。

使用 adprep /domainprep 命令升級網域

adprep /domainprep /forestprep 變更完全復寫至將裝載 Windows Server 2003 域控制器的每個網域中的基礎結構主要域控制器之後執行。 若要如此做,請執行下列步驟:

  1. 識別您要升級之網域中的基礎結構主要域控制器,然後使用您正在升級之網域中 Domain Admins 安全組成員的帳戶登入。

    注意

    企業系統管理員可能不是樹系子域中 Domain Admins 安全組的成員。

  2. 在基礎結構主機上執行 adprep /domainprep 。 若要這樣做,請按兩下列指令 :執行],輸入 cmd,然後在 [基礎結構主機] 上輸入下列命令: X:\I386\adprep /domainprep 其中 X:\I386\ 是 Windows Server 2003 安裝媒體的路徑。 此命令會在目標網域中執行全網域變更。

    注意

    命令 adprep /domainprep 會修改 Sysvol 共用中的檔案許可權。 這些修改會導致該目錄樹狀目錄中檔案的完整同步處理。

  3. 確認 domainprep 已順利完成。 若要這樣做,請確認下列專案:

    • 命令 adprep /domainprep 完成時沒有錯誤。
    • CN=Windows2003Update,CN=DomainUpdates,CN=System,DC= 您要升級 之網域的 dn 路徑存在If adprep /domainprep 未執行,請確認下列專案:
    • 執行的 adprep 登入使用者具有您要升級之網域中 Domain Admins 安全組的成員資格。 若要這麼做,請使用 whoami /all 命令。
    • 當您執行 adprep時,指定位於安裝媒體 \I386 目錄中之Adprep.exe的完整路徑。 若要這樣做,請在命令提示字元中輸入下列命令: x :\i386\adprep /forestprep 其中 x 是裝載安裝媒體的磁碟驅動器。
    • 如果 adprep 仍然無法運作,請在 %systemroot%\System32\Debug\Adprep\Logs\ Latest_log 資料夾中檢視Adprep.log 檔案。
  4. 確認 adprep /domainprep 變更已復寫。 若要這樣做,針對網域中的其餘域控制器,請確認下列專案: - CN=Windows2003Update,CN=DomainUpdates,CN=System,DC= dn 網域的路徑 ,而且 Revision 屬性的值符合網域基礎結構主機上相同屬性的值。 - (選擇性) 尋找新增的物件、屬性或存取控制清單 (ACL) 變更 adprep /domainprep 。 在其餘網域的基礎結構主機大量或將這些網域中的DC新增或升級至Windows Server 2003 時,重複步驟 1-4。 現在您可以使用 DCPROMO 將新的 Windows Server 2003 計算機升級至樹系。 或者,您可以使用 WINNT32.EXE,將現有的 Windows 2000 域控制器升級至 Windows Server 2003。

使用 Winnt32.exe 升級 Windows 2000 域控制器

從 /forestprep 和 /domainprep 進行變更之後,您已決定與舊版用戶端的安全性互操作性,您可以將 Windows 2000 域控制器升級至 Windows Server 2003,並將新的 Windows Server 2003 域控制器新增至網域。

下列電腦必須位於每個網域中樹系中執行 Windows Server 2003 的第一個域控制器之一:

  • 樹系中的網域命名主機,讓您可以建立預設的 DNS 程式分割區。
  • 樹系根域的主要域控制器,讓 Windows Server 2003 樹系prep 新增的全企業安全性主體在 ACL 編輯器中可見。
  • 每個非根域的主要域控制器,讓您可以建立新的網域特定 Windows 2003 安全性主體。 若要這樣做,請使用WINNT32升級裝載所需操作角色的現有域控制器。 或者,將角色轉移至新升級的 Windows Server 2003 域控制器。 針對您升級至 Windows Server 2003 的每個 Windows 2000 域控制器,針對您升級的每個 Windows Server 2003 工作組或成員計算機,執行下列步驟:WINNT32和升級的每個 Windows Server 2003 工作組或成員計算機:
  1. 使用WINNT32升級 Windows 2000 成員計算機和域控制器之前,請先移除 Windows 2000 管理工具。 若要這樣做,請使用 控制台 中的 [新增/移除程式] 工具。 (僅限 Windows 2000 升級。

  2. 安裝任何Microsoft或系統管理員判斷的 Hotfix 檔案或其他修正程式很重要。

  3. 檢查每個域控制器是否有可能的升級問題。 若要這樣做,請從安裝媒體的 \I386 資料夾執行下列命令: winnt32.exe /checkupgradeonly 解決相容性檢查所識別的任何問題。

  4. 從安裝媒體的 \I386 資料夾執行WINNT32.EXE,然後重新啟動升級的 2003 域控制器。

  5. 視需要降低舊版用戶端的安全性設定。

    如果 Windows NT 4.0 用戶端沒有 NT 4.0 SP6 或 Windows 95 用戶端未安裝目錄服務用戶端,請在域控制器組織單位的預設域控制器原則上停用 SMB 服務簽署,然後將此原則連結至主控域控制器的所有組織單位。 計算機設定\Windows 設定\安全性設定\本機原則\安全性選項\Microsoft網络伺服器:數位簽署通訊(一律)

  6. 使用下列資料點確認升級的健康情況:

    • 升級成功完成。
    • 您新增至安裝的 Hotfix 已成功取代原始二進位檔。
    • 針對域控制器所持有的所有命名內容,都會發生 Active Directory 的輸入和輸出複寫。
    • Netlogon 和 Sysvol 共用存在。
    • 事件記錄檔指出域控制器及其服務狀況良好。

    注意

    升級之後,您可能會收到下列事件訊息:您可以放心地忽略此事件訊息。

  7. 安裝 Windows Server 2003 管理工具(僅限 Windows 2000 升級和 Windows Server 2003 非域控制器)。 Adminpak.msi位於 Windows Server 2003 CD-ROM 的 \I386 資料夾中。 Windows Server 2003 媒體包含 Support\Tools\Suptools.msi 檔案中更新的支援工具。 請確定您重新安裝此檔案。

  8. 在樹系中的每個網域中,至少將您升級至 Windows Server 2003 的前兩個 Windows 2000 域控制器進行新的備份。 找出您在鎖定的記憶體中升級至 Windows Server 2003 的 Windows 2000 電腦備份,讓您不會不小心使用這些備份來還原現在執行 Windows Server 2003 的域控制器。

  9. (選擇性)在單一實例存放區 (SIS) 完成之後,在您升級至 Windows Server 2003 的域控制器上執行 Active Directory 資料庫的離線重組(僅限 Windows 2000 升級)。

    SIS 會檢閱儲存在 Active Directory 中之對象的現有許可權,然後在這些物件上套用更有效率的安全性描述元。 升級的域控制器第一次啟動 Windows Server 2003 操作系統時,SIS 會自動啟動(由目錄服務事件記錄檔中的事件 1953 識別)。 只有在您將事件標識碼 1966 事件訊息記錄在目錄服務事件記錄檔中時,您才受益於改善的安全性描述元存放區:此事件訊息表示單一實例存放區作業已完成,並作為系統管理員使用 NTDSUTIL.EXE 執行 Ntds.dit 脫機重組的佇列。

    離線重組可以降低 Windows 2000 Ntds.dit 檔案的大小高達 40%,可改善 Active Directory 效能,並更新資料庫中的頁面,以更有效率地儲存連結值屬性。 如需如何重組 Active Directory 資料庫的詳細資訊,請按下列文章編號,以檢視Microsoft知識庫中的文章:

    232122執行 Active Directory 資料庫的離線重組

  10. 調查 DLT 伺服器服務。 Windows Server 2003 域控制器會在全新安裝和升級安裝時停用 DLT Server 服務。 如果組織中的 Windows 2000 或 Windows XP 用戶端使用 DLT Server 服務,請使用組策略在新的或升級的 Windows Server 2003 域控制器上啟用 DLT Server 服務。 否則,請從 Active Directory 累加刪除分散式連結追蹤物件。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

    312403 Windows 域控制器上的分散式連結追蹤

    如果您大量刪除數千個 DLT 物件或其他物件,可能會因為版本存放區不足而封鎖複寫。 在您刪除最後一個 DLT 物件並讓垃圾收集完成之後,等候 tombstonelifetime 天數(預設為 60 天),然後使用 NTDSUTIL.EXE執行 Ntds.dit 檔案的脫機重組。

  11. 設定最佳做法組織單位結構。 Microsoft建議系統管理員在所有 Active Directory 網域中主動部署最佳做法組織單位結構,並在 Windows 網域模式中升級或部署 Windows Server 2003 域控制器之後,將舊版 API 用來建立使用者、計算機和群組的預設容器重新導向系統管理員指定的組織單位容器。

    如需最佳做法組織單位結構的其他資訊,請檢視「管理 Windows 網路的最佳作法 Active Directory 設計」白皮書的一節。 若要檢視白皮書,請流覽下列Microsoft網站: https://technet.microsoft.com/library/bb727085.aspx 如需變更舊版 API 建立之使用者、計算機和群組的預設容器的詳細資訊,請按下列文章編號,以檢視Microsoft知識庫中的文章:

    324949重新導向 Windows Server 2003 網域中的使用者和計算機容器

  12. 針對樹系中每個新的或升級的 Windows Server 2003 域控制器,以及每個 Active Directory 網域的步驟 11(最佳做法組織單位結構)重複步驟 1 到 10。

    摘要:

    • 使用WINNT32升級 Windows 2000 域控制器(如果使用的話,請從滑行安裝媒體升級)
    • 確認升級的計算機上已安裝 Hotfix 檔案
    • 安裝未包含在安裝媒體上的任何必要 Hotfix
    • 確認新或升級伺服器上的健康情況(AD、FRS、原則等等)
    • 在OS升級后等候24小時,然後離線重組 (選擇性)
    • 如果您必須啟動 DLT 服務,否則請使用 q312403 / q315229 post forest-wide domainpreps 刪除 DLT 物件
    • 刪除 DLT 物件之後,執行離線重組 60 天 (墓碑存留期和垃圾收集 #of days)

實驗室環境中的試執行升級

將 Windows 域控制器升級至生產 Windows 2000 網域之前,請先驗證並精簡實驗室中的升級程式。 如果精確鏡像生產樹系的實驗室環境升級會順利執行,您可以預期在生產環境中會產生類似的結果。 針對複雜的環境,實驗室環境必須在下列區域中鏡像生產環境:

  • 硬體:計算機類型、記憶體大小、頁面檔案放置、磁碟大小、效能和RAID設定、BIOS和韌體修訂層級
  • 軟體:用戶端和伺服器操作系統版本、用戶端和伺服器應用程式、Service Pack 版本、Hotfix、架構變更、安全組、群組成員資格、許可權、原則設定、物件計數類型和位置、版本互操作性
  • 網路基礎結構:WINS、DHCP、連結速度、可用的頻寬
  • 載入:載入模擬器可以模擬密碼變更、物件建立、Active Directory 複寫、登入驗證和其他事件。 目標是不重現生產環境的規模。 相反地,目標是探索一般作業的成本和頻率,並根據您目前和未來的需求,在生產環境中插入其影響(名稱查詢、復寫流量、網路頻寬和處理器耗用量)。
  • 系統管理:執行的工作、所使用的工具、使用的作業系統
  • 作業:容量、互操作性
  • 磁碟空間:請注意操作系統、Ntds.dit 和 Active Directory 記錄檔在下列每個作業之後,於全域編錄和非全域編錄域控制器上的起始、尖峰和結束大小:
    1. adprep /forestprep
    2. adprep /domainprep
    3. 將 Windows 2000 域控制器升級至 Windows Server 2003
    4. 在版本升級后執行離線重組

瞭解環境升級程式與複雜度,結合詳細觀察,可決定您套用至升級生產環境的步調和程度。 透過高可用性廣域網 (WAN) 連結連線的域控制器和 Active Directory 對象數量很少的環境,在短短幾個小時內可能會升級。 您可能必須更小心擁有數百個域控制器或數十萬個 Active Directory 物件的企業部署。 在這種情況下,您可能會想要在數周或幾個月內執行升級。

在實驗室中使用「試執行」升級來執行下列工作:

  • 了解升級程序的內部工作和相關風險。
  • 在您的環境中公開部署程式的潛在問題區域。
  • 測試及開發後援方案,以防升級失敗。
  • 定義適當的詳細數據層級,以套用至生產網域的升級程式。

沒有足夠磁碟空間的域控制器

在磁碟空間不足的域控制器上,使用下列步驟在裝載 Ntds.dit 和記錄檔的磁碟區上釋放額外的磁碟空間:

  1. 刪除未使用的檔案,包括 *.tmp 檔案或因特網瀏覽器使用的快取檔案。 若要這樣做,請輸入下列命令(在每個命令之後按 ENTER):

    cd /d drive\  
    del *.tmp /s  
    
  2. 刪除任何使用者或記憶體傾印檔案。 若要這樣做,請輸入下列命令(在每個命令之後按 ENTER):

    cd /d drive\  
    del *.dmp /s  
    
  3. 暫時移除或重新放置您可以從其他伺服器存取的檔案,或輕鬆地重新安裝。 您可以移除並輕鬆地取代的檔案包括 ADMINPAK、支援工具,以及 %systemroot%\System32\Dllcache 資料夾中的所有檔案。

  4. 刪除舊版或未使用的使用者配置檔。 若要這樣做,請按兩下 [開始],以滑鼠 右鍵按兩下 [我的計算機],按兩下 [內容],按兩下 [使用者設定檔] 索引卷標,然後刪除舊帳戶和未使用帳戶的所有配置檔 。 請勿刪除任何可能適用於服務帳戶的配置檔。

  5. 刪除 %systemroot%\Symbols 上的符號。 若要這樣做,請輸入下列命令: rd /s %systemroot%\symbols 視伺服器是否有完整或小型的符號集而定,這可能會獲得大約 70 MB 到 600 MB。

  6. 執行離線重組。 Ntds.dit 檔案的離線重組可能會釋放空間,但暫時需要目前 DIT 檔案的兩倍空間。 如果有可用的本機磁碟區,請使用其他本機磁碟區來執行離線重組。 或者,使用最佳連線網路伺服器上的空間來執行離線重組。 如果磁碟空間仍然不夠,請從 Active Directory 累加刪除不必要的使用者帳戶、計算機帳戶、DNS 記錄和 DLT 物件。

注意

Active Directory 不會從資料庫刪除物件,直到 已傳遞的 tombstonelifetime 天數(預設為 60 天)和垃圾收集完成為止。 如果您將 tombstonelifetime 縮減為樹系中低於端對端復寫的值,您可能會在 Active Directory 中造成不一致。