戰(zhàn))
簡(jiǎn)介圍繞主域控制器與輔助域控制器的部署及遷移這份文檔面向正在學(xué)習(xí) Windows Server 活動(dòng)目錄、需要完成域控實(shí)驗(yàn)或運(yùn)維交接的初中級(jí)技術(shù)人員重點(diǎn)解決主域搭建、額外域控加入以及 FSMO 角色與全局編錄轉(zhuǎn)移等實(shí)操問題。資源包僅含 1 個(gè) docx 文件約 566KB以步驟說明和命令清單形式組織便于按章節(jié)查閱與對(duì)照練習(xí)。內(nèi)容從 Windows Server 2003 環(huán)境下使用 dcpromo 新建 Jiajie.com 域講起依次覆蓋輔助域控的 IP/DNS 設(shè)置與額外域控安裝、系統(tǒng)狀態(tài)備份、RID/PDC/基礎(chǔ)結(jié)構(gòu)/域命名/架構(gòu)五大主機(jī)角色遷移并給出 ntdsutil 的 transfer 與 seize 命令及全局編錄調(diào)整方法。已有 2064 人學(xué)習(xí)適合用作域控遷移的實(shí)驗(yàn)手冊(cè)和排錯(cuò)參考能幫助讀者理清操作順序、理解角色轉(zhuǎn)移與強(qiáng)制奪取的適用場(chǎng)景。1. 接手一臺(tái) Windows Server 2003最怕的不是藍(lán)屏接手一套 Microsoft Windows Server 2003 Enterprise Edition 的老域時(shí)最怕的往往不是開機(jī)藍(lán)屏而是域還在跑、卻沒人說得清當(dāng)初是怎么搭起來的。主域控和輔助域控這種雙機(jī)結(jié)構(gòu)當(dāng)年在機(jī)房里幾乎人手一套真到了要加一臺(tái)額外域控或者把主域控整體遷到新機(jī)器上dcpromo 會(huì)停在哪一頁(yè)、輔助域控的 DNS 該指向誰、五個(gè) FSMO 角色用界面點(diǎn)還是用 ntdsutil 搶沒親手走過一遍的人是真不敢按下一步。這篇不打算先講活動(dòng)目錄的原理直接按我搭過的那一輪順序走兩臺(tái) Server 2003 從 IP 和主機(jī)名規(guī)劃開始裝主域控、加輔助域控、再做主域控制器的遷移中間哪幾個(gè)參數(shù)不能隨手改、哪幾個(gè)坑能讓人折騰到后半夜都寫在下面。2. 主域控搭建從 IP 規(guī)劃到 dcpromo 跑完重啟動(dòng)手之前先把兩臺(tái)機(jī)器的身份信息固定下來。這一步很多人圖快直接開虛擬機(jī)裝完就敲 dcpromo結(jié)果裝到一半發(fā)現(xiàn)主機(jī)名跟后面要用的域控名對(duì)不上改主機(jī)名又要重啟前面填的東西白填。先把表填好后面每一步都有對(duì)照。2.1 兩臺(tái)機(jī)器的 IP、掩碼、DNS 對(duì)照表項(xiàng)目主域控A輔助域控B操作系統(tǒng)Windows Server 2003 Enterprise Edition同左計(jì)算機(jī)名ABIP 地址1.1.1.11.1.1.2子網(wǎng)掩碼255.0.0.0255.0.0.0默認(rèn)網(wǎng)關(guān)同網(wǎng)段不填同網(wǎng)段不填首選 DNS1.1.1.1自身實(shí)際 IP1.1.1.1域全名Jiajie.comJiajie.comNetBIOS 名JIAJIEJIAJIE目錄服務(wù)還原密碼adchinaadchina255.0.0.0 是 A 類掩碼配上去之后 1.1.1.1 和 1.1.1.2 落在同一個(gè)子網(wǎng)里做實(shí)驗(yàn)最省事。注意這是實(shí)驗(yàn)環(huán)境的取法1.1.1.0/8 是公網(wǎng)地址段搬到真實(shí)內(nèi)網(wǎng)一定要換成規(guī)劃過的私網(wǎng)段否則以后接路由器會(huì)出亂子。首選 DNS 這里有個(gè)細(xì)節(jié)值得說主域控裝完活動(dòng)目錄之后首選 DNS 指 127.0.0.1 也能跑但我更習(xí)慣填自身實(shí)際 IP 1.1.1.1。原因是某些老版本網(wǎng)卡驅(qū)動(dòng)在回環(huán)地址上注冊(cè) SRV 記錄會(huì)漏項(xiàng)用實(shí)際 IP 少一層玄學(xué)。輔助域控 B 的首選 DNS 必須填 1.1.1.1不能填自己這一點(diǎn)后面加域時(shí)會(huì)反復(fù)用到。2.2 dcpromo 之前必須驗(yàn)的三件事在 A 上執(zhí)行 dcpromo 之前先花兩分鐘做三項(xiàng)檢查比事后翻日志省事得多。:: 1. 確認(rèn)主機(jī)名、IP、DNS 都已經(jīng)是規(guī)劃好的值 ipconfig /all hostname :: 2. 確認(rèn) DNS 解析鏈路正常裝之前沒有域記錄返回失敗是正常的 ping 1.1.1.1 :: 3. 確認(rèn)系統(tǒng)盤以外還有可用空間目錄數(shù)據(jù)庫(kù)和日志別全堆在 C 盤 dir c:\ipconfig /all輸出里重點(diǎn)看三項(xiàng)Host Name 是不是 A、IP Address 是不是 1.1.1.1、DNS Servers 是不是 1.1.1.1。hostname再確認(rèn)一次短名因?yàn)?dcpromo 會(huì)拿這個(gè)短名去拼 FQDN短名寫錯(cuò)了后面生成的 A.jiajie.com 對(duì)不上SRV 記錄也會(huì)跟著歪。磁盤這一項(xiàng)是血淚經(jīng)驗(yàn)。Server 2003 默認(rèn)把 NTDS 數(shù)據(jù)庫(kù)、事務(wù)日志和 SYSVOL 全放在 C:\WINDOWS 下實(shí)驗(yàn)環(huán)境跑跑沒問題但一旦域里有幾百個(gè)對(duì)象日志寫滿系統(tǒng)盤是很常見的翻車現(xiàn)場(chǎng)。如果虛擬機(jī)掛了第二塊盤向?qū)Ю锬莾身?yè)存儲(chǔ)位置就改到 D 盤去只有一塊盤就老實(shí)接受默認(rèn)值別為了「規(guī)范」把 C 盤切得太小。注意主機(jī)名改完必須重啟才生效別在同一會(huì)話里改完名字直接敲 dcpromo。我踩過一次向?qū)ёx到的還是舊名裝完的域控 FQDN 跟規(guī)劃差一截最后只能 dcpromo /forceremoval 拆掉重來。2.3 向?qū)豁?yè)逐頁(yè)說清楚填什么準(zhǔn)備就緒后在 A 上打開運(yùn)行框輸入 dcpromo剩下的是十一頁(yè)向?qū)А_@一節(jié)把每頁(yè)的選擇和背后的理由一次講透照著填就行。:: 開始 - 運(yùn)行或者直接 WinR dcpromo向?qū)Ц黜?yè)的填寫內(nèi)容與判斷依據(jù)如下歡迎頁(yè)與操作系統(tǒng)兼容性直接下一步。Server 2003 會(huì)提示跟 Windows 95、NT 4.0 早期版本的兼容性問題實(shí)驗(yàn)環(huán)境不用管。域控制器類型選「新域的域控制器」。這一頁(yè)決定這臺(tái)機(jī)器是新建域還是加入已有域選錯(cuò)了后面整套流程都不一樣只能重來。創(chuàng)建一個(gè)新域選「在新林中的域」。這是林里的第一臺(tái)域控沒有上級(jí)域可選。新的域名填Jiajie.com。這個(gè)就是 DNS 全名后面所有 SRV 記錄都掛在這下面一旦定下來再改就要走域重命名2003 時(shí)代基本等于重裝。新的 NetBIOS 域名自動(dòng)帶出JIAJIE保持默認(rèn)。老客戶端和部分只認(rèn)短名的應(yīng)用靠它登錄。數(shù)據(jù)庫(kù)和日志文件文件夾默認(rèn)C:\WINDOWS\NTDS。有兩塊盤就分別指向 D 盤的兩個(gè)不同目錄日志和數(shù)據(jù)分盤能減少 I/O 爭(zhēng)搶。共享的系統(tǒng)卷默認(rèn)C:\WINDOWS\SYSVOL。這一份會(huì)被復(fù)制到所有域控上裝完會(huì)自動(dòng)共享成 SYSVOL 和 NETLOGON。DNS 注冊(cè)診斷選第二項(xiàng)讓向?qū)А冈谶@臺(tái)計(jì)算機(jī)上安裝并配置 DNS 服務(wù)器使它與該域一起使用」。這是整套流程里最關(guān)鍵的一頁(yè)選錯(cuò)會(huì)得到一個(gè)裝好了 AD 但解析不了自己的域控。權(quán)限選「只與 Windows 2000 或 Windows Server 2003 兼容」。除非域里真有 NT 4.0 的成員服務(wù)器要加進(jìn)來否則不要選兼容早期版本那一項(xiàng)它會(huì)放寬匿名訪問的權(quán)限。目錄服務(wù)還原模式的管理員密碼填adchina。這一頁(yè)的彈窗標(biāo)題是 Restore Mode Password指的是目錄服務(wù)還原模式密碼跟 Administrator 的登錄密碼是兩回事別混。摘要核對(duì)一遍域名、NetBIOS 名和路徑點(diǎn)下一步開始安裝裝完提示重啟。第 8 頁(yè)值得單獨(dú)展開。DNS 注冊(cè)診斷頁(yè)在裝之前會(huì)報(bào)一個(gè)「無法聯(lián)系到處理該名稱的 DNS 服務(wù)器」的警告這是正常的因?yàn)榇丝踢€沒有 DNS。頁(yè)面下方給出兩個(gè)選項(xiàng)第一項(xiàng)是「在這臺(tái)計(jì)算機(jī)上安裝并配置 DNS 服務(wù)器使它與該域一起使用」第二項(xiàng)是同樣的描述但明確標(biāo)注推薦。區(qū)別在于第一項(xiàng)裝完后 DNS 只做基礎(chǔ)配置第二項(xiàng)會(huì)把正向查找區(qū)域和 SRV 記錄一并建好。選第二項(xiàng)裝完直接在 DNS 控制臺(tái)里能看到_msdcs、_sites、_tcp、_udp四個(gè)文件夾說明記錄注冊(cè)成功。第 10 頁(yè)的密碼也有講究。adchina只有七位、全小寫、不含數(shù)字和符號(hào)按域級(jí)別的密碼策略是過不了的。之所以能填進(jìn)去是因?yàn)榇丝逃蜻€不存在校驗(yàn)用的是本機(jī)的本地安全策略而 Server 2003 的本地策略默認(rèn)沒開密碼復(fù)雜度。裝完之后域默認(rèn)策略一啟用這個(gè)密碼就成了歷史遺留問題。常見做法是裝完立刻把目錄服務(wù)還原密碼改成一個(gè)符合復(fù)雜度的值用ntdsutil里的set dsrm password命令改別等到真要還原的時(shí)候才發(fā)現(xiàn)密碼登不進(jìn)去。2.4 重啟之后先別急著加第二臺(tái)主域控重啟完很多人第一反應(yīng)是趕緊去配 B。先停一下在 A 上把這三項(xiàng)驗(yàn)完不然后面加域控出問題你分不清是主域控本身沒裝好還是網(wǎng)絡(luò)沒通。:: 1. 目錄服務(wù)健康檢查把詳細(xì)輸出落到文件里慢慢看 dcdiag /v c:\dcdiag_after_dcpromo.txt :: 2. 確認(rèn) SYSVOL 和 NETLOGON 兩個(gè)共享已經(jīng)自動(dòng)建好 net share :: 3. 確認(rèn)域控的 SRV 記錄已經(jīng)注冊(cè)到 DNS 里 nslookup -typesrv _ldap._tcp.dc._msdcs.jiajie.com 1.1.1.1dcdiag /v的輸出里重點(diǎn)看 Connectivity、Advertising、NetLogons、Replications 這幾項(xiàng)的結(jié)論是不是 passed。net share輸出里必須有 SYSVOL 和 NETLOGON 兩行缺任何一個(gè)都說明 sysvol 還沒共享出來通常是文件復(fù)制服務(wù)還沒跑完等幾分鐘再查實(shí)在不行重啟一次 Netlogon 服務(wù)。nslookup那條查詢?nèi)绻芊祷?A.jiajie.com 和 1.1.1.1說明 SRV 記錄注冊(cè)正常輔助域控加域時(shí)才能靠 DNS 找到主域控。三項(xiàng)都過了再往下走。這一步花的時(shí)間比后面加域控失敗回頭排查要少得多。3. 輔助域控搭建額外域控怎么加、復(fù)制怎么驗(yàn)輔助域控在活動(dòng)目錄里的正式叫法是「現(xiàn)有域的額外域控制器」它不是備份域控BDC那一套老機(jī)制而是多主復(fù)制里的另一臺(tái) DC。裝對(duì)了主域控上的用戶、組、組策略會(huì)自動(dòng)復(fù)制過來裝錯(cuò)了最常見的結(jié)果是兩臺(tái)機(jī)器各說各話事件日志里刷復(fù)制錯(cuò)誤。3.1 加域前先把 IP 和 DNS 指到主域控在 B 上先改網(wǎng)絡(luò)配置這一步做錯(cuò)后面 dcpromo 一定會(huì)卡在「找不到域」那一頁(yè)。:: 在 B 上配置靜態(tài) IPDNS 必須指向主域控 netsh interface ip set address name本地連接 static 1.1.1.2 255.0.0.0 netsh interface ip set dns name本地連接 static 1.1.1.1 :: 驗(yàn)證連通性和域名解析 ping 1.1.1.1 nslookup jiajie.com 1.1.1.1 nslookup -typesrv _ldap._tcp.dc._msdcs.jiajie.com 1.1.1.1ping 1.1.1.1只證明三層通不證明 AD 能用。真正要看的是后面兩條 nslookupnslookup jiajie.com 1.1.1.1應(yīng)該返回主域控的 IP-typesrv那條應(yīng)該返回 A.jiajie.com 和 389 端口。如果 ping 通但 nslookup 超時(shí)問題一定在 DNS 上可能是 B 的首選 DNS 沒改、也可能是 A 上的 DNS 服務(wù)沒監(jiān)聽 1.1.1.1先解決這個(gè)再談 dcpromo。端口層面也順手看一眼。AD 認(rèn)證依賴 389LDAP、445SMB、135RPC 端點(diǎn)映射、53DNS可以用 telnet 直接探telnet 1.1.1.1 389 telnet 1.1.1.1 445能連上會(huì)看到黑屏或者直接斷開連不上會(huì)提示連接失敗。Server 2003 默認(rèn)沒裝 telnet 客戶端的話用portqry -n 1.1.1.1 -p tcp -o 389,445,135,53也行portqry 在 Support Tools 里。這一招在排查「網(wǎng)絡(luò)通但加不了域」時(shí)特別管用比抓包快得多。還有一件事容易被忽略把 B 的計(jì)算機(jī)名確認(rèn)成 B并且不要提前把 B 手動(dòng)加入域。很多人習(xí)慣先在「我的電腦 → 屬性 → 計(jì)算機(jī)名」里把機(jī)器加入 jiajie.com然后再跑 dcpromo多這一步不但沒必要還經(jīng)常因?yàn)?DNS 配錯(cuò)卡在「找不到域控制器」。dcpromo 在額外域控流程里會(huì)自己完成加入動(dòng)作前提是網(wǎng)絡(luò)憑據(jù)頁(yè)給的賬號(hào)有權(quán)限。3.2 dcpromo 選「現(xiàn)有域的額外域控制器」的完整頁(yè)序在 B 上打開運(yùn)行框同樣是 dcpromo但向?qū)ё叩氖橇硪粭l分支。:: 在 B 上執(zhí)行跟主域控是同一個(gè)命令分支由第二頁(yè)決定 dcpromo各頁(yè)的填法歡迎頁(yè)與兼容性提示下一步。域控制器類型選「現(xiàn)有域的額外域控制器」。這一頁(yè)選錯(cuò)成「新域的域控制器」就會(huì)在一臺(tái)已經(jīng)有域的機(jī)器上再建一個(gè)新林兩臺(tái) DC 從此互不相干。網(wǎng)絡(luò)憑據(jù)用戶名填JIAJIE\Administrator密碼填主域控的本地管理員密碼域填JIAJIE。這里的賬號(hào)必須在目標(biāo)域里有「域管理員」或至少「企業(yè)管理員」權(quán)限普通域用戶過不去。額外域控制器域名填Jiajie.com。注意這里填的是 DNS 全名不是 NetBIOS 名填 JIAJIE 會(huì)報(bào)「無法聯(lián)系到域」。數(shù)據(jù)庫(kù)和日志文件文件夾跟主域控保持一致的規(guī)劃有兩塊盤就分開放。共享的系統(tǒng)卷默認(rèn)路徑裝完后 B 上也會(huì)有 SYSVOL 和 NETLOGON 共享。目錄服務(wù)還原密碼填adchina跟主域控保持一致。兩臺(tái)機(jī)器的還原密碼不同并不是錯(cuò)誤但運(yùn)維時(shí)容易記混統(tǒng)一更省心。復(fù)制來源選「通過網(wǎng)絡(luò)從下列服務(wù)器復(fù)制」服務(wù)器列表里選A.jiajie.com。如果這一步留空向?qū)?huì)自己挑一臺(tái)可用的 DC在只有兩臺(tái)機(jī)器的環(huán)境里結(jié)果一樣但顯式指定能避免以后加第三臺(tái)時(shí)搞不清初始數(shù)據(jù)是從誰那兒來的。摘要核對(duì)后點(diǎn)下一步開始復(fù)制初始數(shù)據(jù)完成后重啟。第 3 頁(yè)的網(wǎng)絡(luò)憑據(jù)是最容易翻車的地方。填jiajie\administrator時(shí)要注意反斜杠方向填成jiajie/administrator會(huì)直接報(bào)憑據(jù)無效另外如果主域控的 Administrator 賬號(hào)被改過名這里必須用改后的名字用 Administrator 會(huì)提示「用戶名或密碼不正確」明知密碼沒錯(cuò)也會(huì)卡住。3.3 復(fù)制驗(yàn)收到事件日志為止B 重啟之后兩臺(tái)域控之間的復(fù)制是自動(dòng)的默認(rèn)間隔 15 分鐘。但「能自動(dòng)復(fù)制」和「現(xiàn)在就復(fù)制成功」是兩件事加完域控立刻做一次手動(dòng)觸發(fā)能提前發(fā)現(xiàn)問題。在輔助域控 B 上打開「Active Directory 站點(diǎn)和服務(wù)」展開 Sites → Default-First-Site-Name → Servers → A → NTDS Settings右鍵選「立即復(fù)制」然后在 B 自己的 NTDS Settings 上做同樣的操作往反方向推一次。圖形界面之外用命令行更直接:: 查看復(fù)制伙伴和最近一次復(fù)制結(jié)果 repadmin /showrepl :: 生成一份復(fù)制健康摘要重點(diǎn)看 error 數(shù)量 repadmin /replsummary :: 手動(dòng)觸發(fā)一次從 A 到 B 的復(fù)制 repadmin /replicate B.jiajie.com A.jiajie.com DCjiajie,DCcom :: 只測(cè)復(fù)制這一項(xiàng) dcdiag /test:replications /vrepadmin /showrepl的輸出會(huì)按分區(qū)列出每個(gè)復(fù)制伙伴重點(diǎn)看「Last replication was ... ago」和失敗計(jì)數(shù)正常情況下最近一次同步應(yīng)該在一刻鐘以內(nèi)。repadmin /replsummary更直觀直接給出最大延遲和錯(cuò)誤數(shù)兩臺(tái)的錯(cuò)誤數(shù)都應(yīng)該是 0。repadmin /replicate那條命令的參數(shù)順序要記清楚第一個(gè)是目標(biāo) DC把數(shù)據(jù)寫到誰那兒第二個(gè)是源 DC數(shù)據(jù)從誰那兒來第三個(gè)是要復(fù)制的命名上下文。寫反了不會(huì)報(bào)錯(cuò)只是方向相反容易在排查時(shí)誤判。最土也最有效的驗(yàn)收方法是在主域控上新建一個(gè)測(cè)試用戶然后到輔助域控上打開「Active Directory 用戶和計(jì)算機(jī)」找這個(gè)用戶。命令行觸發(fā)完復(fù)制后如果 B 上立刻能看到說明整條鏈路是通的如果看不到先看事件查看器里「目錄服務(wù)」日志有沒有 1869、1311 這類復(fù)制錯(cuò)誤碼1311 通常意味著兩臺(tái)機(jī)器的 DNS 后綴或者站點(diǎn)配置不一致。原文里那句「經(jīng)測(cè)試主域控制器的數(shù)據(jù)能及時(shí)復(fù)制到輔助域控上面」靠的就是這一套驗(yàn)證。別只看 dcpromo 最后那頁(yè)打了個(gè)勾就完事復(fù)制是會(huì)中途出問題的。4. FSMO 五角色遷移界面點(diǎn)選與 ntdsutil 命令對(duì)照演練到這一步兩臺(tái)域控都在跑數(shù)據(jù)也在互相復(fù)制接下來才是真正的主域控制器遷移?;顒?dòng)目錄里有五個(gè)操作主機(jī)角色也就是常說的 FSMO分布在林的根域和各個(gè)域里架構(gòu)主機(jī)和域命名主機(jī)是林級(jí)別的各只有一臺(tái)RID 主機(jī)、PDC 仿真主機(jī)、基礎(chǔ)結(jié)構(gòu)主機(jī)是域級(jí)別的每個(gè)域各一臺(tái)。遷移的目標(biāo)是把這五個(gè)角色從 A 挪到 B再配合全局編錄的調(diào)整讓 B 成為實(shí)際的主力。4.1 動(dòng)手前先 ntbackup 備份 system state遷移本身不算高風(fēng)險(xiǎn)操作但遷移過程中如果出意外沒有備份就只能靠 seize 硬搶搶完老域控基本報(bào)廢。所以第一步永遠(yuǎn)是備份。:: 開始 - 運(yùn)行打開自帶的備份工具 ntbackup打開后切到「?jìng)浞荨惯x項(xiàng)卡在左側(cè)樹里勾選「System State」這是系統(tǒng)狀態(tài)包含注冊(cè)表、SYSVOL、活動(dòng)目錄數(shù)據(jù)庫(kù)、證書服務(wù)等關(guān)鍵內(nèi)容。目標(biāo)位置選一塊空閑空間夠大的盤生成的 .bkf 文件大小通常在兩三百兆到一兩個(gè) G 之間視域規(guī)模而定。命令行也能做適合寫進(jìn)計(jì)劃任務(wù):: 用命令行做一次系統(tǒng)狀態(tài)備份/j 指定任務(wù)名/f 指定輸出文件 ntbackup backup systemstate /j FSMO遷移前備份 /f D:\backup\sysstate_pre_fsmo.bak /l D:\backup\backup.log參數(shù)里/j是這次備份的任務(wù)標(biāo)識(shí)后續(xù)在備份工具的還原界面里能按這個(gè)名字找回/f是備份文件路徑注意目錄必須事先存在ntbackup 不會(huì)自己建目錄/l是日志文件出問題時(shí)靠它定位。備份做完一定要做一次「還原驗(yàn)證」哪怕只是打開備份工具點(diǎn)「還原和管理媒體」確認(rèn)文件能被識(shí)別。我見過備份文件因?yàn)榇疟P寫滿只寫了一半的情況等到真要還原才發(fā)現(xiàn)文件損壞那時(shí)候已經(jīng)沒有后悔藥了。4.2 RID、PDC、基礎(chǔ)結(jié)構(gòu)在「AD 用戶和計(jì)算機(jī)」里轉(zhuǎn)移三個(gè)域級(jí)別角色的轉(zhuǎn)移路徑是一樣的都在「Active Directory 用戶和計(jì)算機(jī)」里操作。第一步是讓控制臺(tái)連到目標(biāo)域控 B而不是默認(rèn)的 A打開「Active Directory 用戶和計(jì)算機(jī)」在域名jiajie.com上右鍵點(diǎn)「連接到域控制器」。在彈出的列表里選中B.jiajie.com確定。這一步不做后面所有的「更改」都是把角色在 A 內(nèi)部轉(zhuǎn)來轉(zhuǎn)去等于沒做。第二步是逐個(gè)轉(zhuǎn)移在域名上右鍵點(diǎn)「操作主機(jī)」彈出三個(gè)選項(xiàng)卡RID、PDC、基礎(chǔ)結(jié)構(gòu)。當(dāng)前持有者會(huì)顯示成A.jiajie.com點(diǎn)「更改」確認(rèn)后變成B.jiajie.com。PDC 和基礎(chǔ)結(jié)構(gòu)兩個(gè)頁(yè)簽重復(fù)同樣的動(dòng)作。三個(gè)頁(yè)簽里PDC 仿真主機(jī)的意義最實(shí)在它承擔(dān)密碼修改的最終裁決、時(shí)間同步源、以及組策略編輯時(shí)的默認(rèn)連接點(diǎn)。RID 主機(jī)負(fù)責(zé)給新創(chuàng)建的安全主體分配 RID 池短期內(nèi)分配完了會(huì)影響新用戶創(chuàng)建?;A(chǔ)結(jié)構(gòu)主機(jī)負(fù)責(zé)跨域引用對(duì)象的更新在只有一個(gè)域的環(huán)境里它幾乎不干活但角色還是得轉(zhuǎn)否則單點(diǎn)故障依然存在。注意「操作主機(jī)」對(duì)話框里的「更改」按鈕是灰色的九成是因?yàn)楫?dāng)前控制臺(tái)連的還是原域控或者登錄賬號(hào)不是企業(yè)管理員/域管理員。先回到「連接到域控制器」那一步確認(rèn)連接目標(biāo)。4.3 域命名主機(jī)換個(gè)控制臺(tái)域命名主機(jī)管的是林里新增、刪除、重命名域的操作路徑不在「AD 用戶和計(jì)算機(jī)」里而在「Active Directory 域和信任關(guān)系」。打開「Active Directory 域和信任關(guān)系」在根節(jié)點(diǎn)上右鍵點(diǎn)「連接到域控制器」選B.jiajie.com。再次在根節(jié)點(diǎn)上右鍵點(diǎn)「操作主機(jī)」這一頁(yè)只有一個(gè)域命名主機(jī)選項(xiàng)卡。點(diǎn)「更改」確認(rèn)后角色轉(zhuǎn)到 B。這一步的坑在于控制臺(tái)連接狀態(tài)不共享。你在「AD 用戶和計(jì)算機(jī)」里連到 B不代表「AD 域和信任關(guān)系」也連到了 B兩個(gè)控制臺(tái)各管各的。所以每換一個(gè)控制臺(tái)都要重新做一次「連接到域控制器」。4.4 架構(gòu)主機(jī)先 regsvr32 schmmgmt.dll 再開 MMC架構(gòu)主機(jī)是五個(gè)角色里最麻煩的一個(gè)因?yàn)樗J(rèn)在管理工具里根本沒有對(duì)應(yīng)的入口必須先注冊(cè)一個(gè) DLL再手工往 MMC 控制臺(tái)里添加管理單元。:: 注冊(cè)架構(gòu)管理單元的動(dòng)態(tài)鏈接庫(kù) regsvr32 schmmgmt.dll執(zhí)行成功會(huì)彈一個(gè)「DllRegisterServer in schmmgmt.dll succeeded」的對(duì)話框。如果提示找不到模塊說明這個(gè)文件不在系統(tǒng)里Server 2003 上它一般在C:\WINDOWS\System32下確認(rèn)路徑后可以用完整路徑注冊(cè)。注冊(cè)完之后手工搭控制臺(tái)運(yùn)行框輸入mmc打開一個(gè)空白控制臺(tái)。按 CtrlM 或者點(diǎn)「文件 → 添加/刪除管理單元」。在列表里找到「Active Directory 架構(gòu)」點(diǎn)「添加」再點(diǎn)「關(guān)閉」最后「確定」?;氐娇刂婆_(tái)在「Active Directory 架構(gòu)」節(jié)點(diǎn)上右鍵點(diǎn)「更改域控制器」。選「指定名稱」輸入B.jiajie.com確定。再次右鍵點(diǎn)「操作主機(jī)」點(diǎn)「更改」。第 5 步是很多人漏掉的。如果直接用默認(rèn)連接控制臺(tái)連的是 A點(diǎn)「更改」就是把架構(gòu)主機(jī)從 A 改到 A走完一圈發(fā)現(xiàn)角色沒動(dòng)還以為是權(quán)限問題。判定方法很簡(jiǎn)單改完之后看「操作主機(jī)」對(duì)話框里顯示的當(dāng)前持有者必須是 B.jiajie.com 才算成功。還有一個(gè)隱性前提操作架構(gòu)主機(jī)需要當(dāng)前賬號(hào)在 Schema Admins 組里。這個(gè)組默認(rèn)只有 Administrator如果用的是別的管理員賬號(hào)先把賬號(hào)加進(jìn)去重新登錄一次讓組成員身份生效否則「更改」按鈕會(huì)一直是灰的。4.5 全局編錄站點(diǎn)和服務(wù)里的一勾一取消全局編錄不是 FSMO 角色但它在多域控環(huán)境里的作用跟角色遷移同樣關(guān)鍵。全局編錄服務(wù)器保存了林里所有域的部分屬性副本登錄認(rèn)證、Exchange 地址簿查詢、跨域組嵌套解析都要找它。默認(rèn)情況下林里的第一臺(tái)域控就是全局編錄服務(wù)器如果 A 要下線這個(gè)身份必須交給 B。操作在「Active Directory 站點(diǎn)和服務(wù)」里打開控制臺(tái)在根節(jié)點(diǎn)上右鍵點(diǎn)「連接到域控制器」選B.jiajie.com。依次展開 Sites → Default-First-Site-Name → Servers → A → NTDS Settings。右鍵 NTDS Settings點(diǎn)「屬性」把「全局編錄」前面的勾去掉。再展開 Servers → B → NTDS Settings同樣右鍵屬性把「全局編錄」勾上。順序不能反。先給 B 勾上等復(fù)制完成后再給 A 取消中間這段兩臺(tái)都是全局編錄屬于正常狀態(tài)。反過來先取消 A 再勾 B中間會(huì)有一段時(shí)間林里沒有全局編錄服務(wù)器用戶登錄會(huì)報(bào)「目前沒有可用的登錄服務(wù)器」排查起來很費(fèi)勁。勾選之后建議留出至少一輪復(fù)制間隔再驗(yàn)證。在 B 上打開事件查看器看「目錄服務(wù)」日志里有沒有 1126 事件它表示全局編錄已經(jīng)啟動(dòng)完成用nltest /dsgetdc:jiajie.com /gc也能直接查出當(dāng)前響應(yīng)全局編錄請(qǐng)求的是哪臺(tái)機(jī)器。4.6 ntdsutiltransfer 和 seize 的分界線圖形界面適合角色都健康、兩臺(tái)機(jī)器都在線的場(chǎng)景。如果原域控已經(jīng)徹底起不來了圖形界面根本連不上它「更改」按鈕永遠(yuǎn)點(diǎn)不動(dòng)這時(shí)候只能用命令行。ntdsutil 提供兩組動(dòng)詞transfer 是「轉(zhuǎn)移」要求原持有者還活著并且能通信seize 是「占用」直接把角色搶過來不管原持有者在不在。先看轉(zhuǎn)移的完整流程以 RID 主機(jī)為例:: 進(jìn)入 ntdsutil 交互環(huán)境 ntdsutil :: 進(jìn)入角色維護(hù)模式 roles :: 建立到目標(biāo)域控的連接 connections connect to server B.jiajie.com quit :: 執(zhí)行轉(zhuǎn)移 transfer RID master逐段解釋ntdsutil是入口進(jìn)去之后提示符變成ntdsutil:輸入roles進(jìn)入 FSMO 維護(hù)模式提示符變成fsmo maintenance:connections進(jìn)入連接子模式提示符變成server connections:這時(shí)候才可以用connect to server指定要連哪臺(tái) DCquit退回上一級(jí)最后transfer RID master執(zhí)行轉(zhuǎn)移成功會(huì)提示「正在將 RID 主機(jī)角色從 A.jiajie.com 轉(zhuǎn)移到 B.jiajie.com」。把所有轉(zhuǎn)移命令列出來對(duì)照命令行作用transfer PDC轉(zhuǎn)移 PDC 仿真主機(jī)transfer RID master轉(zhuǎn)移 RID 主機(jī)transfer infrastructure master轉(zhuǎn)移基礎(chǔ)結(jié)構(gòu)主機(jī)transfer domain naming master轉(zhuǎn)移域命名主機(jī)transfer schema master轉(zhuǎn)移架構(gòu)主機(jī)原域控徹底損壞、無法開機(jī)時(shí)把transfer換成seizentdsutil roles connections connect to server B.jiajie.com quit seize RID master seize PDC seize infrastructure master seize domain naming master seize schema master quit quit這五條對(duì)應(yīng)的就是上面那張表的五個(gè)角色動(dòng)詞換成 seize。執(zhí)行前必須確認(rèn)一件事原域控 A 以后絕對(duì)不會(huì)再以任何形式接入網(wǎng)絡(luò)。因?yàn)?seize 之后A 的數(shù)據(jù)庫(kù)里仍然認(rèn)為自己是這五個(gè)角色的持有者一旦它重新上線就會(huì)出現(xiàn)兩個(gè) RID 主機(jī)同時(shí)分配 RID 池的情況產(chǎn)生的安全標(biāo)識(shí)符沖突是不可逆的只能做元數(shù)據(jù)清理ntdsutil里的metadata cleanup把 A 的記錄徹底刪掉。5. 避坑排查主域控遷移里五個(gè)最容易翻車的點(diǎn)5.1 ping 得通dcpromo 卻報(bào)「找不到域」現(xiàn)象輔助域控 B 上能 ping 通 1.1.1.1資源共享也能訪問但 dcpromo 走到「額外域控制器域名」那一頁(yè)填入 Jiajie.com 之后報(bào)「無法聯(lián)系到域 jiajie.com 的域控制器」。原因dcpromo 找域控靠的不是 ICMP是 DNS 里的 SRV 記錄。ping 通只說明三層可達(dá)如果 B 的首選 DNS 沒有指向 1.1.1.1或者主域控的 DNS 服務(wù)沒起來、SRV 記錄沒注冊(cè)dcpromo 就找不到入口。解決先在 B 上執(zhí)行nslookup -typesrv _ldap._tcp.dc._msdcs.jiajie.com 1.1.1.1能返回 A.jiajie.com 和 389 端口才叫正常。返回不了就回主域控查 DNS 控制臺(tái)看_msdcs、_sites、_tcp這幾個(gè)文件夾在不在不在的話重啟主域控的 Netlogon 服務(wù)讓它重新注冊(cè)注冊(cè)完再回來跑 dcpromo。5.2 「操作主機(jī)」里更改按鈕是灰的現(xiàn)象打開「AD 用戶和計(jì)算機(jī)」右鍵域名點(diǎn)「操作主機(jī)」對(duì)話框能彈出來但「更改」按鈕點(diǎn)不動(dòng)或者點(diǎn)了之后當(dāng)前持有者還是 A。原因兩個(gè)可能。一是控制臺(tái)沒有連接到目標(biāo)域控 B所有操作都還在 A 上打轉(zhuǎn)二是當(dāng)前登錄賬號(hào)權(quán)限不夠不在 Domain Admins 或 Enterprise Admins 組里。解決先在域名上右鍵點(diǎn)「連接到域控制器」把目標(biāo)改成 B.jiajie.com 再操作。權(quán)限問題用whoami /groups確認(rèn)當(dāng)前賬號(hào)的組成員身份如果剛把賬號(hào)加進(jìn)管理員組必須注銷重新登錄才生效光刷新沒用。5.3 架構(gòu)主機(jī)頁(yè)面根本找不到現(xiàn)象打開 MMC 想添加「Active Directory 架構(gòu)」管理單元列表里翻遍了也沒有這一項(xiàng)。原因schmmgmt.dll沒有注冊(cè)管理單元沒在系統(tǒng)里登記自然列不出來。解決運(yùn)行regsvr32 schmmgmt.dll看到成功提示后重新打開 mmc再按 CtrlM 添加。如果提示模塊找不到用完整路徑regsvr32 C:\WINDOWS\System32\schmmgmt.dll再試一次。注冊(cè)完不需要重啟。5.4 取消全局編錄之后登錄突然變慢現(xiàn)象在 A 上把全局編錄的勾去掉之后域用戶登錄時(shí)間從幾秒變成幾十秒偶爾報(bào)「目前沒有可用的登錄服務(wù)器」。原因站點(diǎn)里沒有其他全局編錄服務(wù)器或者 B 上的全局編錄還沒完成初始同步。客戶端登錄時(shí)會(huì)去查全局編錄找不到就一路超時(shí)重試。解決先在 B 上把全局編錄勾上等事件日志里出現(xiàn) 1126 事件確認(rèn)啟動(dòng)完成再回頭取消 A 的勾選。如果已經(jīng)取消了臨時(shí)把 A 的勾加回去恢復(fù)服務(wù)等 B 完全就緒后再操作一次。判定 B 是否就緒可以用nltest /dsgetdc:jiajie.com /gc。5.5 用 seize 搶完角色老域控又開機(jī)了現(xiàn)象原主域控硬件故障用 seize 把五個(gè)角色搶到 B 上一周后 A 修好被接回網(wǎng)絡(luò)域里開始出現(xiàn)各種奇怪現(xiàn)象新建用戶偶爾登錄不上、組策略應(yīng)用不一致、事件日志里刷 1353 和 1863。原因A 的數(shù)據(jù)庫(kù)里仍然認(rèn)為自己是 FSMO 持有者重新上線后兩臺(tái)機(jī)器各自為政RID 池重復(fù)分配導(dǎo)致 SID 沖突這種損壞是不可逆的。解決seize 之前就要把 A 的硬盤拆掉或者徹底格式化確保它不可能再以原身份上線。如果已經(jīng)接回來了立刻斷網(wǎng)在 B 上執(zhí)行ntdsutil的metadata cleanup把 A 的服務(wù)器對(duì)象、NTDS 設(shè)置、復(fù)制連接全部刪干凈然后檢查有沒有產(chǎn)生重復(fù) SID 的對(duì)象把有問題的用戶重建。6. 驗(yàn)證裝完之后怎么確認(rèn)這套域真的跑通了遷移做完不等于結(jié)束還得有一套固定的收尾檢查。我一般按下面這張表走一遍全部通過才算交付。檢查項(xiàng)命令或位置期望結(jié)果五個(gè)角色落在哪臺(tái)netdom query fsmo五項(xiàng)全部顯示 B.jiajie.com域控清單netdom query dc列出 A 和 B 兩臺(tái)復(fù)制健康度repadmin /replsummary兩臺(tái)的錯(cuò)誤數(shù)為 0最大延遲小于 15 分鐘目錄服務(wù)整體dcdiag /test:replications /test:fsmocheck全部 passed全局編錄nltest /dsgetdc:jiajie.com /gc返回 B.jiajie.com共享卷net shareSYSVOL、NETLOGON 都在netdom在 Server 2003 的 Support Tools 里裝完光盤里的support\tools\suptools.msi就有。它比翻三個(gè)圖形界面快得多一條命令直接列出五個(gè)角色的當(dāng)前持有者是遷移收尾最省事的驗(yàn)證手段。用 ntdsutil 也能看適合沒裝 Support Tools 的機(jī)器ntdsutil roles connections connect to server B.jiajie.com quit ?最后那個(gè)問號(hào)會(huì)列出所有角色命令以及當(dāng)前的持有者輸出里能看到五行都是 B.jiajie.com 就對(duì)了。除了命令還有兩個(gè)體感驗(yàn)證值得做。一是在輔助域控 B 上新建一個(gè)用戶然后到 A 上此時(shí) A 已經(jīng)不是主力確認(rèn)能看到說明復(fù)制是雙向的二是找一臺(tái)成員機(jī)把 DNS 指向 B用域賬號(hào)登錄一次能登進(jìn)去說明認(rèn)證鏈路完整。這兩步比任何命令都更接近真實(shí)使用場(chǎng)景。從那以后我每次動(dòng) FSMO 之前都強(qiáng)制自己先跑一遍netdom query fsmo把結(jié)果存成文本快照遷移完再跑一遍做對(duì)比。這個(gè)習(xí)慣救過我兩次一次是架構(gòu)主機(jī)根本沒轉(zhuǎn)成功但沒人發(fā)現(xiàn)一次是全局編錄提前取消了導(dǎo)致第二天早上一片登錄失敗。慢一步做記錄比事后通宵排查劃算得多。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取