本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
2 a. e, }' C. ^* d3 x# [; H 命令: /Info
% r5 i/ C; b7 z$ p5 f# y& i4 x# P 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。0 @" O. z9 Q8 h1 x
用法:6 ]* p+ O/ Q% t2 r# A
dnscmd ServerName /Info [Property]
' R, `+ ?; _) q G, y. R 参数:7 ^ i0 e9 i' j3 I6 m) h" Q
ServerName 4 j# j/ v# `% ~
服务器名称在上一篇中已经介绍过,此处省略。 . J, V# j& [" `! U% }
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
, O( _- C- ^) z9 {# l 下面是该命令使用的一个比较完整的例子:
6 b5 l# }* }1 W6 M" o 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:8 @' t9 x+ F: H6 D, j/ d
dnscmd 172.16.12.1 /info 只使用命令而不使用参数- W( ~8 k3 C: D/ u
输出的信息:" W( b8 M7 ~) V4 ^# M# ] ?
DNS Server 172.16.12.1 Information:5 P, o8 {: O( O
C:\>dnscmd 172.16.12.1 /info. f: i& o. h f# G
Query result: 查询结果
( a# a; r0 K* A; r0 j qServer info: 服务器信息" v3 I5 _: ^, b8 I# a
ptr = 00074718 端口6 C( z% E! L+ b5 g X+ i
server name = myserver.microsoft.com 服务器名称- H1 [9 S2 @$ F/ f y: U' S
version = C2000005 版本9 s4 b0 H+ A1 M: X+ }; t) ]
DS container = c DS“容器”
$ Y5 h$ o" J" c* v Configuration: 配置信息 这些信息的含义请参考有关资料6 Q3 j8 @+ |3 c' C
dwLogLevel = 00000000
% S6 e e1 {) B) _2 r dwDebugLevel = 00000000
7 b7 U! R+ M' n2 R& d0 ^ dwRpcProtocol = FFFFFFFF7 t: t( G, m1 b7 A' A1 e1 T
dwNameCheckFlag = 00000002
) y3 r5 E& N- S: i0 E cAddressAnswerLimit = 0
3 O9 L9 O( h a% C! |+ L dwRecursionRetry = 35 S9 _+ r6 z8 m3 [ v" B
dwRecursionTimeout = 15' }$ \7 q: y- x# J0 G1 P; R2 ~
dwDsPollingInterval = 3006 w5 m! y4 z2 \, h* I9 z, d4 t Q' p
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料, i# E& N$ E0 K" _; a
fBootMethod = 3 # n& E+ P9 }. L4 N H- t* }
fAdminConfigured = 1 6 h [* {* \3 v
fAllowUpdate = 1
* [: ?. z: `. J' Z! f+ `5 ?& ofDsAvailable = 1 0 u" P1 E& R+ E3 _$ _) U3 ?" z
fAutoReverseZones = 1
0 e9 r0 e9 y2 ^9 X) r! g: lfAutoCacheUpdate = 0 ! B' s; \& T. p# z, i& G
fSlave = 0
. ?- _* u3 C9 A& SfNoRecursion = 0
# f; Q8 L7 S3 w4 Z* s" `4 O& vfRoundRobin = 1 z& ^ o% V* |
fLocalNetPriority = 1
, L S P! m3 c7 A9 g8 J# z$ P) nfStrictFileParsing = 0
8 ]/ F1 A) H: _fLooseWildcarding = 0
# @0 i; W, M0 t4 C MfBindSecondaries = 1 7 H; J3 T- T; t. E1 t$ C8 E' g1 W
fWriteAuthorityNs = 0
3 Y1 d3 W1 u$ K- @. MAging Configuration:
: a; {$ P* T7 {7 JScavengingInterval = 0
6 }' S& d8 [9 ]& O& w0 z9 @4 Y& BDefaultAgingState = 0 0 o) g% P% q0 A c; L
DefaultRefreshInterval = 168
4 j9 Z# S. H. ~( HDefaultNoRefreshInterval = 168 0 s; A9 W6 `2 e6 g" c5 t" j* n
ServerAddresses:
( z. [" H$ @" h$ Y- X% |% x2 w- _+ l Addr Count = 1
; w/ \6 b3 J4 c Addr[0] => 172.16.12.1- }: l6 Q0 o% B2 }
ListenAddresses:
3 W: U# q/ i2 p$ C. Q NULL IP Array.! Z9 A! o% K' h
Forwarders:
; d& A. {6 w' { Addr Count = 1
% r% [$ v$ s3 u Addr[0] => 172.16.4.38 \2 G1 Z/ J6 J4 Y! m" R) N! f
forward timeout = 5
. d* Q3 r2 i7 s slave = 0
; F3 `4 }, \1 b5 m G1 j1 g6 W; mCommand completed successfully.命令顺利执行完毕 3 V- L' a% S% d- B% D
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
; Y* L" w+ ~; K" ] ^ 命令:/Config+ ] p* }" W' Y
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。" Z) b. Q& O8 s1 i0 Z6 ]6 j
2 o0 [. h3 B" c& }$ ^' o% a* M6 P 用法:
; R" G- g0 @$ R dnscmd ServerName /Config [ZoneName |..AllZones] Property Value8 p V8 ]& H3 ^4 I1 B$ \6 b
参数
& d- l( x* B9 C% ?+ M3 ^$ M ServerName :服务器名称,意义同上 4 Z$ t* Q, [8 B7 E+ S
ZoneName:! ~4 W: c" |# M" m9 R
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
+ r8 S2 b- _2 \! q+ z: v1 l5 s7 r4 N3 k x, P Property: : U, X1 g6 Z a: f1 ^0 l
这个参数是属性。这里所说的属性有:6 i2 V' t& j. _( I: D6 D( J, x0 j) k! m* g
与服务器有关的属性:例如:
5 D, C* n3 J5 V" H. G/ K4 J/EnableRegistryBoot3 |% j, T. u! F, T# @1 \
/RpcProtocol
# s: `- f/ G+ R, {8 V& m8 z/LogLevel5 g/ }! o: \8 [9 ] N h5 Z! }0 z k+ D
/EventlogLevel 等等 (限于篇幅未能全部列出)
! n, M1 ?1 e" `! h- [6 y* N6 i/ P与Zone 有关的属性,例如:8 @5 T& K1 R( w! k- v
/SecureSecondaries
. W! @/ V9 A: |* R% o. R* E! L+ V) ] /AllowUpdate
! M3 j% V# b8 C. v1 _ /Aging
( l; ^& T. }2 G9 T /RefreshInterval Value
( L- m& t: X! ]- k M; C /NoRefreshInterval Value( s, m, T* t; Q: [3 w: m h0 T2 x6 Z
属性值:
4 [ K7 J7 D( f( o x! x* t7 d( H 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
7 ?. h( ^7 J* l- E e8 _ C从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
+ H, d _% G+ \7 A2 `# f 命令: /Statistics
# I: `! Q2 a; \: C 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。+ s; i6 T; B, l" n
用法:
7 b0 K' ?* P5 r2 W6 ]2 q" {4 E dnscmd ServerName /Statistics [Filter|/Clear]) t+ ?' `0 X9 q8 G" k, w/ ?2 X
参数:
2 q% A$ M4 n7 I2 W- ~; v0 kServerName
& m. g; e3 z7 \4 y+ j服务器名称,含义同上。0 _0 J Q9 }- C3 F( n/ |; ~5 v
可选参数介绍:
( y0 G4 B; L: l, W& B/ ?共有两个参数,每次只能使用其中的一个。
E4 s2 K m- i) j% D. Y 1.过滤(Filter); ~9 l$ E. _( |8 y: B
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。) e4 m, F- T9 b$ X, j2 c3 v
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: & I/ G7 H3 A; u0 T' J) I
00000001 -- Time' e5 X7 _3 T% Y
00000002 -- Query
: @1 E: i+ f4 Z3 a8 g$ C 00000004 -- Query2
3 F+ b+ U+ H0 \/ r* f 00000008 -- Recurse
6 }5 L o3 Q. N7 F5 M2 e4 @0 h 00000010 -- Master; G% v9 U5 E q' S' ]8 F
00000020 -- Secondary
1 U! x; T0 \7 W* k3 y 00000040 -- Wins
! X8 b4 v# v% N8 E8 M 00000100 -- Update8 A9 q- N( z8 K- k% m+ Y
00000200 -- SkwanSec
+ m! z0 ~) y+ n/ x: g 00000400 -- Ds
' w' l( q9 B; ^# i# { 00010000 -- Memory
8 i1 L9 `9 a+ F8 I7 Q; E9 O6 U4 |7 s 00100000 -- PacketMem% }) T1 L; b9 k' t5 A; X3 P4 p( c% P
00040000 -- Dbase/ M6 u0 ^6 X- I( T- l( o/ n
00080000 -- Records
9 \- { e- ]/ j, Y 00200000 -- NbstatMem
3 w5 w0 a& W. ]0 @5 S 2.清除 /Clear ) w, e& i8 P; J. K8 V: l
这个参数用来清除统计信息。
/ w5 H! {, R' t 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
. o) K; c* x4 l2 k$ y$ T* T- d2 W5 Q8 X4 G+ v+ G
* m( |4 Q1 m, V P. C7 @, D0 H- Q* k
J% }0 d4 I" ?/ h" \
|