本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
: R* D# b6 R7 x3 J 命令: /Info
# T1 C2 f2 Y+ f* F% r6 g 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
5 Z$ Y- D4 J) ?2 {+ A- I, E 用法:6 ^4 G) Y n% ^) d+ x+ |
dnscmd ServerName /Info [Property] 9 w# _- [8 _# n A
参数:
1 }, X+ C) b c# B' K- D ServerName 1 Q9 H( z( L; K9 ^% a
服务器名称在上一篇中已经介绍过,此处省略。 ' D6 ]7 O% e6 F7 E8 }
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
9 e, E0 Z% L# `) E, E: | 下面是该命令使用的一个比较完整的例子:
6 ^6 P3 H) w5 u; N5 c, k 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
, I5 w! ~/ E; D4 d* X; B0 [6 C* mdnscmd 172.16.12.1 /info 只使用命令而不使用参数/ q! W4 `8 D9 B/ D1 r8 Z+ C0 z
输出的信息:7 N9 S/ A- v' n( Z6 o- x
DNS Server 172.16.12.1 Information:) D9 o( c. q% x
C:\>dnscmd 172.16.12.1 /info
6 j; V1 C3 [# T" x! U1 `% YQuery result: 查询结果2 R" R# {& T/ x$ n: O$ k" a+ ~3 {# m
Server info: 服务器信息
+ a, o& m3 p, d& H( r9 x ptr = 00074718 端口! O$ N/ Q1 X* x! u, {3 n
server name = myserver.microsoft.com 服务器名称
' u0 G4 V7 c' X& z version = C2000005 版本0 U1 _2 R( j7 [! j! m
DS container = c DS“容器”
# v' @/ d) s/ t) I; e Configuration: 配置信息 这些信息的含义请参考有关资料1 q# E4 U! v2 k: n
dwLogLevel = 00000000
7 H5 @. w5 c2 ~2 P+ y( G+ [ dwDebugLevel = 00000000& B: o* Z2 Z# U1 j( `* R' u7 T) M* R
dwRpcProtocol = FFFFFFFF
$ m; B! q) \. S7 z& M dwNameCheckFlag = 000000020 A( ?, Q9 z4 }8 p5 F
cAddressAnswerLimit = 0
; ^; h* J% {$ H) W+ R dwRecursionRetry = 38 ]% @/ Z6 P `* I s
dwRecursionTimeout = 15; s9 ?6 a1 P/ b% k! `# i6 Z0 Q
dwDsPollingInterval = 300- a" E9 r& q2 m7 \9 m
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料0 l4 R2 V0 [8 D+ r% e
fBootMethod = 3
, }; ?1 C0 |2 { y* O Q9 }& x, y6 mfAdminConfigured = 1 % V0 `6 i" K+ e: B
fAllowUpdate = 1
J6 C0 w% _% f S/ o- ]2 HfDsAvailable = 1
0 T& [8 U2 M" q0 _fAutoReverseZones = 1 2 M; V* A5 \2 ~' \' r" [
fAutoCacheUpdate = 0
; b" H+ t7 {3 u6 W- Q! q5 VfSlave = 0 , x. w7 i5 f2 l5 g' {, O
fNoRecursion = 0
/ {; p% Y" t" WfRoundRobin = 1
- o8 u% g, C+ }, L# r* rfLocalNetPriority = 1 ' p( x. F' t) a: Y- M: h9 z
fStrictFileParsing = 0 3 C( J# F U3 ^2 l2 [& f
fLooseWildcarding = 0
8 g* Z* F* L6 B5 n+ {fBindSecondaries = 1 2 W! D) f2 L, D, s6 k# [4 a2 [
fWriteAuthorityNs = 0
+ i3 A" b4 O* K7 f# {Aging Configuration:
' K+ b- O, K1 ]4 X% ?; A. tScavengingInterval = 0
7 p* O- b+ L2 o& e+ l8 jDefaultAgingState = 0 9 R7 C5 n" Q' N0 Q) k+ U0 p; i4 G
DefaultRefreshInterval = 168 ' ~# l! {; x" ]5 A
DefaultNoRefreshInterval = 168
6 U- x; }6 v5 g2 H1 b9 r( s ServerAddresses:
% E$ d. h7 f G0 z* l Addr Count = 1
& w. [8 A7 r$ P" v% P4 h Addr[0] => 172.16.12.1: Y+ k' _7 _7 Z
ListenAddresses:; \5 y& S# A1 t4 _5 Z
NULL IP Array.
. h. j0 m! ^2 s: o6 O1 c- ]9 m# d Forwarders:2 S# o( p# x' p$ r* Q2 a
Addr Count = 1
" v! z) D. d% c5 O f6 J Addr[0] => 172.16.4.3, T5 H* s; A5 {$ Q) l3 O. d+ K
forward timeout = 54 ]. {# P0 h- [2 s
slave = 0
3 F. _- s6 ]9 @# \) Z& s, {Command completed successfully.命令顺利执行完毕 $ C/ Q. e% {1 t4 W
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 9 g( m8 j) M6 c8 L8 x1 [' h
命令:/Config
& ~ {* |# P( [ 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
% }4 C5 p `. U+ u" p* }% ?* C' o3 k' O$ ?( j& S
用法:& r) B: T( P: k+ L' S9 k) u+ X s
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
- ~$ Y9 d. I% ^2 J 参数
3 d" L& b5 _3 U) `/ O ServerName :服务器名称,意义同上 @7 J# }: k" b" e6 `
ZoneName:) w' Q$ P) _, C( b( K4 T+ s% r1 u
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
! p. Y1 t& r. ? Property:
{% S4 ^5 G% X) _6 Y- i& Z0 S 这个参数是属性。这里所说的属性有: h# L; H- k1 T
与服务器有关的属性:例如:$ \% C8 }+ C' k
/EnableRegistryBoot
5 b, a% z+ z& }4 x/RpcProtocol3 S7 s6 t. r; ^1 M1 J* Z$ H
/LogLevel" f! E1 E* _4 m3 f1 N% a' U
/EventlogLevel 等等 (限于篇幅未能全部列出)( u' H/ l4 e% ?, L
与Zone 有关的属性,例如:8 b7 ^6 C+ Z6 V
/SecureSecondaries3 m0 v5 I; b X7 `! R
/AllowUpdate+ E9 ]3 m3 a. Z
/Aging
! |" a$ R' h! K& E% H /RefreshInterval Value' ~4 O& t8 J4 ^ k- g
/NoRefreshInterval Value
! c5 X- f! z( f( M, h7 _ 属性值:* v" I' r6 F9 G5 e
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。! i" |: G: @; `1 D
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
+ ]+ }" J; ?3 Z2 |% D; m8 f/ h) U/ ] 命令: /Statistics
% H/ l' j# C; Q- j 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。- f" ~3 x: U$ K) Y' C' ?
用法:
" i5 d I9 ~1 N' _/ X0 h, ~" B* n dnscmd ServerName /Statistics [Filter|/Clear]6 h/ Z/ d5 L9 q9 {( J
参数:+ Y+ L$ ~" r+ b2 @1 @+ J
ServerName
7 w) e" `" N, r$ {服务器名称,含义同上。) \ ] K b7 S8 ]# d4 m
可选参数介绍:
- E/ k2 v; F6 k. ]" o$ O M+ \共有两个参数,每次只能使用其中的一个。
( o, X! v3 V6 @ E 1.过滤(Filter)' n0 _: r& p1 g l
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
# A0 J, q$ i1 V& m可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 4 f# w4 s( h5 ]6 Z, k1 R
00000001 -- Time
& K( x r5 j# M% K/ M 00000002 -- Query+ L* j5 g2 b* y# M$ |
00000004 -- Query2
6 a* m$ j3 q0 w a5 Z; \ 00000008 -- Recurse4 i7 [! n9 A6 U4 R2 Q
00000010 -- Master
; K1 q1 r& e( x5 m! o9 y4 t 00000020 -- Secondary
' t$ X1 ]$ d0 A. ] O0 d3 k 00000040 -- Wins, h8 {0 r! H: |' D% E+ L, v& p
00000100 -- Update& [1 n6 d! c3 [1 O
00000200 -- SkwanSec; t5 o3 d9 n4 p* D4 D b" _
00000400 -- Ds
2 ?- u9 C& }8 R/ R( _% W$ [ 00010000 -- Memory
; e% m6 ^8 I [4 v% z 00100000 -- PacketMem9 @: R' D* d9 f" w
00040000 -- Dbase% c3 `3 W5 ?& q2 ]' z
00080000 -- Records
% _8 q# r3 ]- Y K$ h2 V, f% h 00200000 -- NbstatMem4 e; ?9 p9 Q: ]
2.清除 /Clear
9 q+ z1 D8 Q5 j' ?( ` 这个参数用来清除统计信息。
! m3 d9 b! w& c9 N* w+ c 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
! X7 N9 J/ V( \4 c
% D( F6 N. {3 p8 Q0 T, O: \2 G' h
7 ?& o1 q7 U* f. b* _6 T
0 P3 h) ~" r$ q2 h3 x |