本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。7 y: r0 B6 m, t/ o, _
命令: /Info u8 k4 `% X& n7 x6 c* s# b% D: W
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。6 r4 D' Y2 Y+ ~1 U
用法:% Y' r% p/ [ y4 N
dnscmd ServerName /Info [Property]
& r+ w5 D! e4 M# S7 j 参数:4 O+ B v) L" H; M, g' m
ServerName ; H: b; ^$ V4 @3 p6 i
服务器名称在上一篇中已经介绍过,此处省略。 ' x( N5 b6 O. K9 H5 F" @0 b+ N* d
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
9 B; h. {+ Z' V 下面是该命令使用的一个比较完整的例子:
, ]5 a; _% v- J 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
$ G, ^' n9 M* w3 Z" q- r- cdnscmd 172.16.12.1 /info 只使用命令而不使用参数
; q1 a9 C: N# ~# i输出的信息:
* L8 D% E# W. D4 p# ^DNS Server 172.16.12.1 Information:, h5 l J1 l; R- S9 f& h
C:\>dnscmd 172.16.12.1 /info
9 r/ G! O. n+ Q( fQuery result: 查询结果1 F/ u4 r4 \: s1 q( Z3 U
Server info: 服务器信息, ^. Y7 T2 T. W7 y0 @: ^2 M
ptr = 00074718 端口
% \+ v2 G5 d' ` server name = myserver.microsoft.com 服务器名称5 K; X4 M5 D1 x
version = C2000005 版本7 L9 v, G" a8 b. b# R0 p% H
DS container = c DS“容器”0 x, w( a. \' |! [' ?* R% Q; f- @
Configuration: 配置信息 这些信息的含义请参考有关资料8 Z9 M0 Q/ {6 p) B6 L% n
dwLogLevel = 00000000$ G% j, M6 K( Z
dwDebugLevel = 00000000% t- H# P+ O7 ?& ^9 ~3 P: f/ V
dwRpcProtocol = FFFFFFFF4 m2 }3 a7 T& m! j0 D3 |5 [
dwNameCheckFlag = 00000002( [2 Q: q& I, p
cAddressAnswerLimit = 0
5 \8 r- Z7 L+ n+ h* h dwRecursionRetry = 30 x5 V- }; Q7 Z
dwRecursionTimeout = 15
: ?% t5 |( J& O e1 J: Q9 d& j dwDsPollingInterval = 300
3 |* s8 r/ m& A6 Z1 f% ?! ^6 X Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
3 l v# n: {" o' s9 XfBootMethod = 3 6 E5 Y' E1 I1 C3 S2 K3 H
fAdminConfigured = 1 / D, }3 a/ ?& R% }' ^+ c- C2 o
fAllowUpdate = 1 ( n ~( E* r" ~1 S! E- ~- B
fDsAvailable = 1 + ?3 Y/ ^' W r7 x H
fAutoReverseZones = 1
$ g. d8 y/ @! j2 w0 z6 Q% K" [fAutoCacheUpdate = 0 * @5 {' \9 U j8 p$ y- g1 R
fSlave = 0
3 \1 Y) h+ T5 f' W, s% KfNoRecursion = 0
% Z6 v( d- e/ X+ ^; M( [: nfRoundRobin = 1
: ]2 L; I. U# YfLocalNetPriority = 1 6 S6 i3 c# V) p$ {
fStrictFileParsing = 0
7 v, B0 ~" r/ X* P bfLooseWildcarding = 0
1 z- Q$ _. q5 v5 O3 G2 n0 bfBindSecondaries = 1
; S" p3 M) E7 H8 V5 x; I" F4 dfWriteAuthorityNs = 0
/ C% e B/ C; p6 M% DAging Configuration: 4 Z& q1 u+ m0 }, {
ScavengingInterval = 0 u" {7 S8 L5 H- ?: _" S- p7 q
DefaultAgingState = 0
' Y2 n3 I/ S& H% }0 L% uDefaultRefreshInterval = 168 . C9 v+ ?/ i- Q, n5 A
DefaultNoRefreshInterval = 168 1 y' v& ~' U. |
ServerAddresses: , b5 N; Y) ^& ] v. w, i
Addr Count = 13 n# Q+ Q. r9 h& F$ T
Addr[0] => 172.16.12.1
" r3 b! {" ^& i+ U, c ListenAddresses:9 v% W+ G6 H4 y3 {) x
NULL IP Array.) h3 b( j8 w# I5 Z7 T" \3 c
Forwarders:: s: K% s3 q, w/ }' e- E- [
Addr Count = 1
+ C3 J0 L( ~2 {3 L+ G% l Addr[0] => 172.16.4.3# Y1 M3 F+ ?) N- }! M* j8 ?5 r
forward timeout = 5
) v" @+ y$ A5 b1 T slave = 0
9 \) Q: V2 w: Y0 V& q$ K/ I4 O2 V' |, `Command completed successfully.命令顺利执行完毕
# j+ ]& w6 a' y7 N; w 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
u0 I, R* Y" ]5 X# I O 命令:/Config
5 [3 M5 G5 n0 N 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。$ H/ M! p& D( \/ z# ^
8 u2 m) J/ L' h8 `$ {, b 用法:! P. h* b: Q7 w& w2 x3 C: B6 N
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value8 b8 F+ f9 |' i
参数1 W7 ?' Z% K! q+ `
ServerName :服务器名称,意义同上 ) \7 w- n: k' e" n c
ZoneName:
# R; F9 ? O# x& u6 V, B: E, Y 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 % [' V. {+ ?* V* }8 V
Property:
# H \' X4 s# o" i7 x( { 这个参数是属性。这里所说的属性有:; k8 h+ b0 Z. d! E8 b) f8 c
与服务器有关的属性:例如:
1 v( F& Y. _" u# z9 R1 W/EnableRegistryBoot
" Z& |' h9 y: b' @7 q# h* Z/RpcProtocol9 A2 E5 P- k. e4 d, Z# A8 O/ ?& c
/LogLevel6 p7 q7 \5 z6 t! m4 [( `, Q
/EventlogLevel 等等 (限于篇幅未能全部列出)
6 E) T d. u3 P# X! v与Zone 有关的属性,例如:; y- H( S6 c% E |7 v9 l
/SecureSecondaries
. ~. J5 @( f& t2 R- P /AllowUpdate W- \2 e; G6 C' J
/Aging
, T5 z* o# h0 b# H; o /RefreshInterval Value+ e: f+ s# I* R- w. Z6 E9 h
/NoRefreshInterval Value1 y0 G6 M3 ~: R- r+ |
属性值:/ L7 F$ P" [* Z" V
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。9 P. k: \! \, A# g' B
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。9 G4 P5 J( ~1 J, M6 m9 k8 i
命令: /Statistics
M$ B7 R- z# _: m6 Y% R% d 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。0 L* ~* j% P( T d6 K
用法:
d& \' Y6 X2 K# k' m) R3 \ dnscmd ServerName /Statistics [Filter|/Clear]+ N6 R" U$ ^: N
参数:0 k7 n+ X0 H/ r
ServerName ! |* l/ m, e0 h0 y- O) i
服务器名称,含义同上。: K; S3 e3 ?0 V9 R
可选参数介绍:
- z! V4 Y" m7 i+ O& m4 v+ Y/ U共有两个参数,每次只能使用其中的一个。" A$ G- m4 w4 ]8 P
1.过滤(Filter)
9 m$ ?& J0 w; a9 V 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。" |$ D% y" W. I/ l' ?
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: ; g9 j& I4 ~% T
00000001 -- Time
6 l3 @( G2 i* o( f 00000002 -- Query
' s, }3 R* p$ |) H' P% e 00000004 -- Query2
% {/ d0 _. r& v( T8 R+ d, | 00000008 -- Recurse2 j: U* h5 p5 O- B) s4 z. i0 h
00000010 -- Master( x6 X* X( O4 k
00000020 -- Secondary
% c; A! @! [, R4 k 00000040 -- Wins9 _4 c. I7 V3 e1 F, Q0 f7 r( K+ {
00000100 -- Update
$ d. [& l* r$ o: Z 00000200 -- SkwanSec
9 b! _. S/ Q2 b5 E3 }0 J 00000400 -- Ds8 F6 w2 k% X, b3 r8 Z; ?+ T" d
00010000 -- Memory
4 k' @/ }( t( V: k' h U9 i 00100000 -- PacketMem
& e/ E0 c& B) K8 { 00040000 -- Dbase! y5 b0 n* R; O( k+ n/ j
00080000 -- Records
5 \' D2 a" K: a 00200000 -- NbstatMem0 t1 e0 C. X) y. g1 x8 i: N
2.清除 /Clear 1 s2 X+ V7 X: z& o; a" S7 o$ p ~
这个参数用来清除统计信息。( P0 O( G, u5 m9 B& w
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。5 {5 \7 [( f0 |% x& _
: L4 }/ ?1 v9 U% D: u2 D
6 c$ |9 [: `9 S# z) E5 \% D+ u) r& {4 @1 L4 h& V+ O0 w# r9 c
|