天天看點

ntdsutil.exe使用詳解

在實際操作和試驗中收集了各種ntdsutil的使用技巧,特總結一下,給大家看看!

: K1 n6 ~0 I" ~/ m8 s6 R* q

1.  用ntdsutil來清除無效的DC資訊!

# x% w( V* x* T6 c% ], h7 Z' ^6 Y

假如你的備份域為abc.mstc.com 主域為ctu.mstc.com,現在備份域壞了。那麼你在裝有super tools的主要域上執行如下指令:

0 \5 r3 @$ x3 d6 i5 ^

C:\>ntdsutil6 q7 I/ M2 \  @9 {: g% u( E

ntdsutil: metadata cleanup - 清理不使用的伺服器的對象# r7 x* y3 S! b9 |

metadata cleanup: select operation target - 選擇的站點,伺服器,域,角色和命名上下文

# z0 s1 b5 e: [, v" ^3 J8 m

select operation target: connections - 連接配接到一個特定域控制器. V- `( \! o9 t* n. T# U

server connections: connect to server ctu.mstc.com  --綁定到 ctu.

用本登入的使用者的憑證連接配接 ctu。$ R3 w$ l  y& q

* I) x9 ~# d4 @$ q

server connections: quit - 傳回上一層目錄

0 B& H1 A7 V: ~4 z$ F

select operation target: list site - 在企業中列出站點(找到1個站點,辨別為0)" u* j0 U3 g* s9 ?" Z, W+ A

; u, _. H+ M* k

找到 1 站點. Y: c5 |8 y/ v6 `, H

" c/ \& r0 P% a; E9 x

0 - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=mstc,DC=com2 D1 W" b! q& g- \/ S, e* r% c

select operation target: select site 0 - 将辨別為 0 的站點定為所選站點

站點 - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=mstc,DC=com- l; ]. V9 _6 t6 E- u6 E

沒有目前域5 v7 u/ U( ~1 a9 Z. o; E: b

沒有目前伺服器7 Q5 C) p( ~/ g" N# c, l

# [7 }+ ^( o! ]1 L8 A

目前的命名上下文

' K7 e. t2 c' T9 B

& W/ T5 i  Y3 Y. V! v

! q5 j9 ?7 d5 ^( ~4 s

# a% J- {' S+ A3 v

- u0 T; s+ x$ s

select operation target: list domains - 列出所有包含交叉引用的域" F8 d$ O/ _) n  g$ t

找到 1 域

- R1 D1 x" F7 ~! `* X4 J

0 - DC= mstc,DC=com  [: i1 V0 t+ Y( S

select operation target: select domain 0 - 将辨別為 0 的域定為所選域, s. d5 \7 `) l

站點 - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC= mstc,DC=com" m: k- O5 ]( F6 q

域 - DC= mstc,DC=com- M0 h3 d( Z: F% W! N, R% U

沒有目前伺服器

' F  u2 H$ {1 ^) Y8 z

; t' e; U, f  T! `

% H( Z# |4 m- o0 N' W) p4 H4 ^

select operation target: list servers for domain in site - 列出所選域和站點中的伺服器(找到兩個:0-abc.mstc.com;1-ctu. mstc.com)8 w. d1 x/ z9 j& w, F( L

0 X" {' J- E  ?' t

找到 2 伺服器

, T0 O, U% J( p! h/ d3 |9 O

0 - CN=ADDEMO,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC= mstc,DC=com6 u- D) v8 Y6 @' l1 c$ @

4 D3 d1 z3 u/ q. z/ p1 y

1 - CN=ADDDC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC= mstc,DC=com5 |9 M4 r2 k5 H

select operation target: select server 0 - 将辨別為 0 的伺服器(abc)定為所選伺服器——也就是要删除的DC8 ~. I% A& }$ l+ E% F( \1 G

站點 - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=acme,DC=com

/ h$ E7 X/ N& q8 Z: B& ^

域 - DC= mstc,DC=com

$ P- g3 a& p0 T/ m

伺服器 - CN=ADDEMO,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC= mstc,DC=com

6 ?% a( Z. K+ H

3 m9 ?0 m/ O/ ]2 ~

" C' v. \! Q3 o# R; a+ n# w

! ?2 j) E! {- S8 N+ D. t

DSA 對象 - CN=NTDS Settings,CN=ADDEMO,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configur

DNS 主機名稱 - abc.mstc.com

計算機對象 - CN=ABC,OU=Domain Controllers,DC=mstc,DC=com& \0 C7 z7 a! }3 d: y

5 R4 W( Q7 J8 g, d

目前的命名上下文* L: A& C0 n/ D- {2 o; R2 Q

' D( B( v. X0 a$ ^$ M

. `! n  R5 r$ p4 z+ a

4 E6 q% w' |2 s& G& N9 J

: \  v. U. O% ~! A7 j, R, ^5 O7 O

select operation target: quit - 傳回上一層目錄

metadata cleanup: remove select server - 從所選伺服器上删除 DS 對象$ v9 Y- c4 a# k2 T. x. S4 l6 {

9 f  B& J' y- {" [0 l2 i% R

在彈出的對話提示框上選擇“是”,' O2 c/ q  ?1 X7 [' ?0 e$ x, c

“CN=abc,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC= mstc,DC=com”删除了,從伺服器“ctu”( b0 Y: V. j3 v& A) R; |7 w

現在,abc.mstc.com這個Dc對象就在你的AD裡消失了.) P9 u! M' t/ |" [

7 s9 ]' G3 [7 G! G

4 p$ z: }1 V, k$ X

2.用ntdsutil來轉移fsmo五種角色。0 T/ ]2 a' B6 x/ L9 j  ?1 Q

% t7 b' s/ E' e" t9 x  U( N

當您運作Dcpromo.exe 程式并安裝 AD 時,将向目錄林中的第一個域控制器授予五個 FSMO 角色。其中有兩個 FSMO 角色是目錄林範圍的,另外三個是域範圍的。如果建立了子域,兩個目錄林範圍的角色将不會更改。一個具有兩個域的目錄林将有八個 FSMO;其中兩個是目錄林範圍的角色,每個域各有三個特定于域的 FSMO 角色。這五個角色是schema master-架構主機,Domain naming master-域命名主機,Rid master-rid主機,pdc master-pdc防真器,Infrastructure Master-結構主機。想要把這幾種角色移動到另一台計算機上有2種方法,一種是轉移,但必須2台計算機處于正常運作狀态。如果有其中某台處于離線狀态隻能用第二種方法,使用ntdsutil工具來強制擷取這些角色。現在如果你的主要壞了這些角色也都在主要上,請在裝有support tools工具新的域控或備份域控上執行如下指令:首先在CMD下運作, h/ S5 i) s; B* P3 B" m

netdom query /d:域名 fsmo( J+ n* s% O$ N$ ^1 E, B3 {3 B

檢視一下目前哪些角色在哪台伺服器上,

然後在CMD下運作 

"ntdsutil"如果不知道指令怎麼寫,可以輸入?得到幫助提示,

"roles" 

"connections" 

"connect to server 伺服器名" 綁定一台目前線上的DC: e& M  d  [8 Z, G. Q. @, Y

當連接配接成功後輸入 q 退出

回到上一層(roles)準備做角色遷移$ o9 P) S2 {" M" I, T

"Seize schema master"- P; x' S* }6 i- o' U/ J$ h* Q) u

"Seize domain naming master"  [( L" S& X" N. Q

"Seize RID master"# i/ n( m0 w+ G/ w$ \1 y

"Seize PDC", t; e5 w# t5 H2 u4 M8 J

"Seize infrastructure master"4 p, w; w* U% r. I% {" ?0 ^, [( Q

以上五個指令,分别用作遷移上面所提到的5個角色到我們之前綁定的伺服器上。1 j# }( \- z+ x+ X9 a. g4 L

完成後再次回到CMD下執行"netdom query /d:域名 fsmo",檢查角色是否已被遷移

) f+ u& Y% m7 y7 `

- U$ x) G, K; G5 @$ ^% t

在“正常”頁籤上,找到全局編錄複選框以檢視其是否選中。如果正常就說明角色轉換已成功。% h1 s) }1 E- ?/ s$ K: [% T0 u

6 V& e9 o8 q) c# u4 \3 l5 x9 j: J

" @* b/ O, p9 b" V3 Z- U8 c

+ ?/ G" H9 _3 e) @) {

3.微軟提供了NTDSUtil這個工具可以對AD資料檔案進行下線碎片整理操作. 由于微軟已經提供了這整個操作過程的說明,是以在這裡我隻稍微重複一下,再加上一些額外的說明以避免大家犯一些不必要的災難性錯誤, 因為這是一個很關鍵的操作,一旦出錯将是災難性的.

" q2 {  s0 ^2 e* N( R- Z5 |

# r7 s+ w6 w6 e- z8 d* M

6 ?  U6 ~: e% U. `

' R& q$ z. ?5 V( o

1. 用必要的備份軟體備份你即将要操作的每一架DC,如果沒有專業的備份軟體用NTBackup也可以.$ ?8 n+ M. Q: z4 g

. T) }; ?" Q) q7 F6 N# M' j- B

2. 重新開機DC按F8鍵進入目錄服務恢複模式以進行對AD的操作.) _: @% W( V3 t& D

3. 如果硬碟還有足夠的空間那麼請再次備份目前的ntds.dit檔案,把它拷貝到一個臨時檔案夾内作為備份直到所有的整理工作成功完成.記住,不要重新命名檔案,否則整個壓縮過程不可能完成.4 I% _- M- z9 O* S2 ?: b: ?% T, F

+ v  k1 K% y/ P% V- ^1 F: ~

4. 在指令行下鍵入以下的指令:

a) Ntdsutil

b) Files+ ~) X/ ^$ n( ], b

c) Info (記下目前ntds.dit的路徑.)+ u- Z' c: T2 s* D

% n+ L/ o4 c" P# T

d) 鍵入 compact to "c:\compact" 以把經過壓縮處理的ntds.dit檔案放置到這個檔案夾中儲存, 如果這個檔案不存在,Ntdsutil 會自動建立一個(這個檔案夾可以是任意名字).; N9 R7 }4 |- |4 `/ I% f5 v7 u" K

( ?6 r$ s" r1 \: c7 l

5. 如果要退出Ntdsutil的界面,請連續兩次鍵入下面的指令: 

1 z& f  V3 G) E

a) quit% y! N1 Z7 `" {: N- G

b) quit7 o, F8 {3 b- Z! k$ j# a& {0 R

( x7 p& M/ Q" d! J

6. 用在c:\compact檔案夾下已經經過壓縮後的ntds.dit覆寫目前的ntds.dit.& Q6 d: X$ [9 k. B, Q4 ~/ M( b

7. 删除在AD資料庫檔案檔案夾下的所有.log檔案.

8. 重新正常啟動DC.

1 n% o! v; E0 }4 k+ ^/ c

8 W% M3 w# G3 n

9. 再次備份整理後的DC,如果一切正常,你就可以把剛才複制備份的ntds.dit删除了.

+ T4 j3 x6 F6 i$ B# G) p

9 R8 s) M& L0 E2 ]8 ?

4. 查找和清理(或删除)重複的安全辨別符 (SID)2 p, s/ z: Q& n

' e% }) \- v( F& S8 G

如何檢查是否有重複的 SID

$ w! B4 U2 M! d4 j9 `& R0 j/ [

1. 在 Ntdsutil 指令提示符下,鍵入 security account management,然後按 ENTER 鍵。 

, J0 o' ]* l. T$ n! N

2. 在 Security Account Maintenance 指令提示符下,鍵入 connect to server 伺服器的 DNS 名稱,然後按 ENTER 鍵。連接配接到存儲着您的 SAM 資料庫的伺服器。 

1 L. l) K% V2 {7 o/ i% i6 X) g

; ~. r: S& h3 J' y3 |3 }1 Y

3. 在 Security Account Maintenance 指令提示符下,鍵入 check duplicate sid,然後按 ENTER 鍵。将顯示重複的 SID。! p- m0 r6 A+ {. @

7 r5 M7 O0 \$ k* h' {6 z$ w

如何清理重複的 SID1 T2 O! J( w% s

9 M: D" h( Q9 {3 R# f

& ~/ S. y$ \5 h7 x

3. 在 Security Account Maintenance 指令提示符下,鍵入 cleanup duplicate sid,然後按 ENTER 鍵。Ntdsutil 将确認删除重複的 SID。 * f8 \9 t! m, ~0 G- p: o

. G3 ]9 n9 x3 L  X8 w/ E

4. 在 Security Account Maintenance 指令提示符下,鍵入 q,然後按 ENTER 鍵。   C& o8 f3 n3 ^

5. 完成 Ntdsutil 下的操作後,鍵入 q,然後按 ENTER 鍵。

2 ^( t  h( P8 [5 ~0 T

3 {% t/ o- W; x4 M, k# a' j

1 p7 f7 Y1 Z* D1 F6 x6 l9 i6 @5 w

" y4 K0 k/ C6 L2 K

, C. P2 j6 M$ J0 j3 ?

5. 使用 Ntdsutil 實用工具将 IP 位址添加到 IP 拒絕清單.

9 ]6 m5 `5 O- F. Q7 i

如何向拒絕清單添加 IP 位址

7 j7 e6 s, Q* y- K

/ C5 B3 M$ r8 i( t6 M9 w

1. 在 Ntdsutil 指令提示符下,鍵入 IPDeny List,然後按 ENTER 鍵。 9 y4 W4 O2 @5 }! A

2. 在 IP Deny List 指令提示符下,鍵入 connections,然後按 ENTER 鍵。 : x  a2 u( U' k3 Q  @1 }0 u! l

0 j& J% q8 b) P  n

/ {% m2 O- w) k- ~8 n- y4 X. D  X

3. 在 server connections 指令提示符下,鍵入 connect to server 伺服器的 dns 名稱,然後按 ENTER 鍵。

1 N* B% c# c1 r  D8 _

備注:請連接配接到您正在使用的伺服器。 4 x0 u  ]* Q) u7 _$ @/ G

4 X$ D2 p2 I; W+ N' t

& j& H6 o" w" L' _1 u0 q- l5 W! w

4. 在 Server connections 指令提示符下,鍵入 q,然後按 ENTER 鍵傳回到先前的菜單。 % ]) W7 N* g& I( k/ s

+ J$ q' {# S9 a, z

+ i) M) @* e, g; m3 ?5 x4 Z

5. 在 IP Deny List 指令提示符下,鍵入 add IP 位址掩碼,然後按 ENTER 鍵。 : j7 F0 ~3 x# {* M# Y

1 K6 B. _% m( Q" `

如果您正在單節點環境中工作,可将“node”用作掩碼變量。 

) D* l; x- ?( u  i1 W* g6 [9 k# y

6. 在 IP Deny List 指令提示符下,鍵入 commit,然後按 ENTER 鍵送出所作的更改。 & o+ q$ I" W3 k* F+ T+ G3 a5 r

4 P2 _( J: d* f* l0 F

如何驗證添加的項

1. 在 IP Deny List 指令提示符下,鍵入 Show,然後按 ENTER 鍵。 

5 R' R' m0 G# K* W) j5 h

将顯示所有被拒絕的 IP 位址的清單。 / u, N, K! E6 g, g1 l* D

/ x. w! Z- v/ ^) M

! F: i5 _) W* z& \) p; M! _8 B

2. 在 IP Deny List 指令提示符下,鍵入 q,然後按 ENTER 鍵。 

3. 在 Ntdsutil 指令提示符下,鍵入 q,然後按 ENTER 鍵退出 Ntdsutil。  |6 T# Y/ y' N  o  ]) I

/ ?* R: ?- \- o

3 Y' X* r# J5 L

5 u( g" b. ?$ B$ ^

6. 重設DSRM密碼

4 A. \" K0 `+ n- H6 n5 J

1. “開始” - “運作” - “CMD”

6 W1 F6 A3 r$ d! X

- F" S% m8 a* f8 u( s4 K

2. ntdsutil! d3 n, C7 r; X

2 k: k6 l. v9 e- q3 C" q# X

. a4 f4 x( g( K- j" ^! ?

3. 在“ntdsutil:”提示符下輸入“set DSRM Password”! A8 X$ o# b$ _/ Y: [0 p/ Q% w. a

* S0 N$ a+ c0 r4 Z

8 L# ^- W" a! f( ?+ a4 e$ W

4. 在“重置DSRM管理者密碼:”提示符下輸入“Reset Password on server <servername>”,其中<servername>是想修改DSRM管理者密碼的伺服器名。

+ V- V6 P5 u/ {3 b

1 s( G, p8 s  x; m0 r

5. 在“請鍵入DS還原模式管理者賬戶的密碼:”提示符下輸入新的密碼。

# P7 |; l  X4 [0 N8 X; G

6. 确認新的密碼。5 {& P1 n# B& h: Z$ Q8 ?4 q6 m

7. 設定密碼成功,工具回到“重置DSRM管理者密碼:”提示符。$ R" r9 g; j$ z

+ S8 K" n; x, @

8. 輸入“quit”傳回到ntdsutil指令提示符。

9. 如果不需要執行其他ntdsutil操作,再次輸入“quit”退出ntdsutil工具。

本文轉自q狼的誘惑 51CTO部落格,原文連結:http://blog.51cto.com/liangrui/366130,如需轉載請自行聯系原作者- p