本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
$ U3 @& k1 ^) Y) [% Q3 Y' w 命令: /Info
# O2 t! I; h. O9 `0 d e6 Y& | 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
; K8 A& H- z2 l" T p 用法:# ^; @/ |6 J( x' l, V
dnscmd ServerName /Info [Property] * L" V/ s: F% @- k* S
参数:7 C6 q9 |5 f @5 m
ServerName + J- j0 o/ l5 {8 Y7 z1 h
服务器名称在上一篇中已经介绍过,此处省略。
* d7 b0 Z% O) a' W0 j4 F [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
1 ]; e" s6 {7 O% ?8 P- E0 A5 x" Q* X 下面是该命令使用的一个比较完整的例子:, N4 a0 S) _ R1 ? U3 [
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
1 T7 o1 U8 M" m6 N; J" D6 F3 bdnscmd 172.16.12.1 /info 只使用命令而不使用参数/ W) J& r0 u. M2 s: _. r2 }3 o
输出的信息:
0 {0 n3 y, L+ N6 _& H' [# E" EDNS Server 172.16.12.1 Information:
6 U. a% }4 q( o+ w' |C:\>dnscmd 172.16.12.1 /info$ W( X* @$ A: `" V9 C2 t4 W! W
Query result: 查询结果1 x% C4 ?$ n+ m/ @/ Z' Z6 X
Server info: 服务器信息! ^6 L, g; t6 T) J* e" G- M0 H
ptr = 00074718 端口
& {, o" Q) j! I3 b$ D server name = myserver.microsoft.com 服务器名称
* a9 r* z3 h/ _3 X# J3 ~* W5 X version = C2000005 版本
. r4 H* ^3 i! s; @# V8 y DS container = c DS“容器”
5 k, n* h9 @3 y5 G; R a9 u Configuration: 配置信息 这些信息的含义请参考有关资料( l; _6 c! L/ l5 q5 @
dwLogLevel = 00000000
& x, ~7 s+ [4 ~/ u5 R% V dwDebugLevel = 00000000
# K: M/ M$ ~3 E/ [) x( ]5 l# H dwRpcProtocol = FFFFFFFF
4 }. @+ ~" E3 E) U) v5 j6 c dwNameCheckFlag = 00000002
( u$ w; ^0 n& A5 D cAddressAnswerLimit = 0
- Q4 M: R# s @, ^5 P7 z2 P dwRecursionRetry = 3
( j z7 S* G3 P dwRecursionTimeout = 15
) ^* [1 i/ T# h* F* B$ l dwDsPollingInterval = 300
2 c1 n! s! r4 H9 D Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
9 _4 `1 u4 Q' S. @- _# TfBootMethod = 3 0 B* \9 M5 e' g9 H
fAdminConfigured = 1 9 c: G4 k, x n, e4 c) G
fAllowUpdate = 1 5 B" d3 V" E$ L* w* o% K
fDsAvailable = 1 6 \) m5 o( }6 {1 O
fAutoReverseZones = 1 6 }& Z6 Y: Z/ N; A; z& v6 r+ t
fAutoCacheUpdate = 0
0 [8 O' K9 v+ C7 `fSlave = 0 % z/ E' B: L5 H$ v! R" [1 r
fNoRecursion = 0
2 }5 q! U7 a4 z; g N+ m* g7 _, h: E2 SfRoundRobin = 1
$ o/ z3 x' Q A0 K: o5 hfLocalNetPriority = 1
% R- k, x Q2 I$ l LfStrictFileParsing = 0 4 o' I, O0 ^# _, I& ^1 H% r7 s
fLooseWildcarding = 0
! q9 F+ H; @2 [# qfBindSecondaries = 1 9 d8 B. B3 V/ x l' h* l: A
fWriteAuthorityNs = 0
) f/ h9 ]& v1 L" g+ }$ K" r& R! WAging Configuration: # i. P: H( {: |0 g
ScavengingInterval = 0 l2 Q, i! o% t U0 j
DefaultAgingState = 0 ) C/ X2 }; S+ B2 K/ a
DefaultRefreshInterval = 168
f4 z# @) S2 SDefaultNoRefreshInterval = 168
8 a8 C f9 p0 v& P. v# \ ServerAddresses: ( T/ s' {( b% d: q( N
Addr Count = 1
# x1 h6 k0 a2 t$ |% r0 y+ Z Addr[0] => 172.16.12.1: x) ^+ z" S4 {" P9 i
ListenAddresses:1 p2 c( I G) w2 y+ J
NULL IP Array.% i0 p3 O1 U. T* B$ U* O
Forwarders:& X0 R0 O9 }2 [. A2 q S9 Y
Addr Count = 13 L \* M! ]$ @& n8 Y% V/ Q/ G
Addr[0] => 172.16.4.3
; x" X" U3 h. A* _# \/ K forward timeout = 5
" [$ A3 Y) C$ c4 {/ y9 o# w7 a% L slave = 05 h5 `* w1 a+ g% k- M/ C
Command completed successfully.命令顺利执行完毕
( J3 F$ O4 { J0 }/ i9 A# @5 a2 u0 m 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 $ h6 B' p# a2 ?7 e9 A$ u
命令:/Config
3 x- F9 S) C& ] N$ Y- O8 u 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。7 Q* w+ V9 |3 N& ~9 p1 K
+ G; d$ `0 S! \. _* G8 D D1 o 用法:
1 g+ S- ]$ e1 d8 U( n( ` dnscmd ServerName /Config [ZoneName |..AllZones] Property Value" D* R8 H: t3 R" L$ a) u4 m6 S
参数
! Q4 J( q: k, F C ServerName :服务器名称,意义同上
9 E# w3 N# H& M0 e; a8 h2 ]: M ZoneName:% W. ]" R" y+ h( g1 A
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 : \+ i, K6 z$ x5 b. l2 W
Property: 4 r$ f( I- {+ X$ _/ G
这个参数是属性。这里所说的属性有:; \2 w1 F- u7 X" C& h
与服务器有关的属性:例如:. o8 n4 u2 S/ d0 C* O' ]5 D/ Q
/EnableRegistryBoot/ t p6 j/ F! {5 o* x( y% v# p8 \
/RpcProtocol
3 _4 g/ ?: b9 N: A# A! g/LogLevel$ b0 x/ U# G: s7 F7 U) a4 g
/EventlogLevel 等等 (限于篇幅未能全部列出)
3 L; K& i! I& w& M% l5 R与Zone 有关的属性,例如:8 ]4 K& j' N! Y9 Y, i; G2 \8 {
/SecureSecondaries
9 M2 r ^ l' a. U' ~6 C9 S /AllowUpdate
( M8 \1 _3 `. q /Aging
. x; I. u0 i8 H3 Z+ z4 i1 D1 ^ /RefreshInterval Value
0 g/ K1 \" j% r/ e& p) j3 L /NoRefreshInterval Value
3 X6 q7 p3 ^1 E; K 属性值:
0 w% v: }4 x3 o G 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。! y* |, j1 c7 O% j4 m
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。7 N" p# ^. p0 x
命令: /Statistics; H K- a, e) g
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
. D! O4 k; ?2 z: I0 } 用法:
9 _1 y; o3 m9 O, X$ a dnscmd ServerName /Statistics [Filter|/Clear]; {9 p d1 u0 |; {/ o9 j% z3 \
参数:
6 N8 S. l* @1 t$ jServerName
% ?: l- c, @" m6 Q2 `( ~( |# l! P服务器名称,含义同上。9 K% M- v: P/ i/ a' E1 L; d
可选参数介绍:
/ E; n6 L0 D! B7 o9 H8 \共有两个参数,每次只能使用其中的一个。7 r; A9 P+ [3 ^. O* M7 \: r
1.过滤(Filter)0 t( c$ K1 m/ e8 a( L
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。( l M7 c, @0 G1 u6 \& _
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: ; z' u0 } N/ u, M' \
00000001 -- Time
8 s0 a, @5 O+ }7 O 00000002 -- Query
$ ^$ q7 G& U( U9 J' E 00000004 -- Query2
% X$ d. R5 }4 @) K$ v) x% s 00000008 -- Recurse
( ~4 P2 O/ x& s/ x+ S9 X 00000010 -- Master
: M9 e |2 ^$ Y( v* W p) e0 m* N$ H 00000020 -- Secondary1 L, Y" U/ \" g$ h5 N5 S
00000040 -- Wins
% f6 }8 S5 ?9 Z2 I, b 00000100 -- Update
! |/ ]( p. j) ?: `1 V 00000200 -- SkwanSec, T1 I. N5 _) D4 A
00000400 -- Ds
- f* E s/ ^ w9 a/ Q9 m* l 00010000 -- Memory
' e" \- c. R3 a o8 f; c8 u ` 00100000 -- PacketMem4 D( t& o3 n7 g- _" n& S+ s
00040000 -- Dbase8 q5 {! I7 O( O" g, ^
00080000 -- Records
( |! O) Q* N" B3 X 00200000 -- NbstatMem% [/ _/ [& z' X5 I9 }# x- w: _
2.清除 /Clear
* [6 L4 d' X. b' S3 U3 l% ^ e 这个参数用来清除统计信息。
- ^) V6 g7 ]% }( \5 R 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
- R1 ]" u4 `! j/ d+ s
( ^. C+ ]+ M% H
& x8 d2 L5 t6 D# E1 `. B
2 q# ^6 L( Q0 j8 W9 f# e |