本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。7 j) |& p' e. S I& ~* W
命令: /Info ) n% s- ]4 `# `% [
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。, g; f' E7 N5 I! `; \
用法:
0 q X( h/ b; _' C dnscmd ServerName /Info [Property]
1 T4 a, ^1 A9 @! [; l( {: D 参数:
' Y+ R' U) S9 [' V- p6 R1 ^1 r& w ServerName * b( h1 v2 L h3 z
服务器名称在上一篇中已经介绍过,此处省略。
# h" r5 {2 P8 {' y [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。9 C8 e8 F$ p# X1 @& P$ M
下面是该命令使用的一个比较完整的例子:- n# L) j5 |$ t3 g, l/ g$ s; w" f9 ~
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
2 v9 |5 B# k4 v) m7 B9 xdnscmd 172.16.12.1 /info 只使用命令而不使用参数) g6 `2 |- T$ Y) |1 H# y
输出的信息:4 t4 `4 `" u2 t; M
DNS Server 172.16.12.1 Information:( U" M$ I0 ?# u$ x j! {
C:\>dnscmd 172.16.12.1 /info& h' v. W* Z6 }) v3 {
Query result: 查询结果: c% T( ?1 Q6 e Z0 K. A
Server info: 服务器信息
: B9 t$ Y; v! q2 _2 u3 b* Q ptr = 00074718 端口9 K& p4 h& F4 u6 R, X
server name = myserver.microsoft.com 服务器名称2 ^: r. N: y' F+ ?( k, H r
version = C2000005 版本5 g& v- {% x. y
DS container = c DS“容器”/ u6 j5 P/ S- C0 C# R3 N* R8 Y
Configuration: 配置信息 这些信息的含义请参考有关资料6 R/ Q3 q! G* i: ?0 g
dwLogLevel = 00000000$ X8 q7 X, x7 s# z7 i6 p
dwDebugLevel = 00000000- \* q7 {7 y3 [! X: H
dwRpcProtocol = FFFFFFFF2 |! n4 L8 Y" i6 G
dwNameCheckFlag = 000000025 y) |+ j- W4 R7 e0 ^6 }
cAddressAnswerLimit = 04 a+ M% q: Q6 c, R$ b! Y/ E, A7 _
dwRecursionRetry = 3' z5 r2 @1 _6 f8 j' \6 ]
dwRecursionTimeout = 15
5 w% A. C+ I0 m6 Z# [: A dwDsPollingInterval = 300% O7 S8 O8 ?+ r; u2 k
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料5 n+ G; E& s# O
fBootMethod = 3 1 u& ?( K. d) o9 M, x
fAdminConfigured = 1 5 _; Y' C8 B; H' w; V
fAllowUpdate = 1
* ~( Y! o$ ~; sfDsAvailable = 1 0 t' q3 t5 b' U- k# n
fAutoReverseZones = 1 3 f5 f" p$ n( ?8 h. q
fAutoCacheUpdate = 0
& S$ X1 H3 V ~- s- @2 YfSlave = 0
/ a" x- ^: L, a9 S4 b# m8 {4 h* q% Q8 CfNoRecursion = 0
/ U+ h! {6 D" UfRoundRobin = 1 , W! l ?" N& Q$ x, D) i0 K# I
fLocalNetPriority = 1 8 T& h; z7 I/ u, v. H4 Q
fStrictFileParsing = 0
5 E9 w6 ~, y" ]* p3 efLooseWildcarding = 0 & }3 g. N, H; b1 H) z! g
fBindSecondaries = 1
9 v+ O" |* P" q* z XfWriteAuthorityNs = 0
; R4 W2 F: m9 n# b) }: }Aging Configuration: 0 M, K. Y" R$ ?( o+ b
ScavengingInterval = 0
/ A5 ]( V3 L; VDefaultAgingState = 0 1 _& p. g! V; d$ O4 t4 q% w
DefaultRefreshInterval = 168
# z: v( Q9 P! ^! z7 ^# `DefaultNoRefreshInterval = 168
' ~$ X6 b2 X z; w W2 |& B- H ServerAddresses: 0 c0 h* ]' c" m
Addr Count = 17 p0 _: O& S! s- Z! G \
Addr[0] => 172.16.12.12 [# h6 @5 B# g6 F+ C
ListenAddresses:5 ?' X! \$ d+ O4 `. v
NULL IP Array.
# F3 L. ^" U6 @' S+ \ Forwarders:( T0 L2 G( p; I- R" G) Z7 b- P
Addr Count = 1
" U0 r Q8 B$ u' h0 i Addr[0] => 172.16.4.3" @# [1 @/ a% s* m* ]% G! U
forward timeout = 5
# Z7 n' E8 Y; R' a$ B. A slave = 0
$ e" ^. X. c: L5 T# gCommand completed successfully.命令顺利执行完毕
, G7 a! N" s' P# s9 n: n 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 % U% G+ ^' h4 x% v+ _, H3 K1 V2 G
命令:/Config& M5 f3 U6 H4 N: b9 p
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。+ V9 \5 W4 J( W
6 _9 ]( ~* [7 d& p3 K5 G
用法:$ Q3 }/ e+ G1 ]% d1 x
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
1 F- O0 b, k/ e: U4 X& a 参数( U' `+ [4 j2 z/ _
ServerName :服务器名称,意义同上
% I) x- L; m, E; _* B8 L* l2 S ZoneName:/ \- B7 y s0 }0 G/ G" b* j
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 # h% M# m/ h! A5 S! S. q
Property: 2 l: }- G( n! i
这个参数是属性。这里所说的属性有:
' }* Y& [" a, h+ ~" a 与服务器有关的属性:例如:
b4 Y9 A# V" U- D; \: y+ _/EnableRegistryBoot
" D% Q5 Q8 [ [( c/RpcProtocol
) {+ i& }, R% y+ J/ R6 t4 c/LogLevel
& ]; V% F) L9 j/EventlogLevel 等等 (限于篇幅未能全部列出); I) ^+ O5 w, a
与Zone 有关的属性,例如:6 d1 E" L& i- t) l4 `0 Q
/SecureSecondaries
# {+ W; L3 b# [& c1 H /AllowUpdate
: L5 W9 Z5 B% W3 I! R6 E /Aging
; \" y4 \5 M% k1 A5 [5 o /RefreshInterval Value0 k% M3 B) z# [* p
/NoRefreshInterval Value
. y* Z/ k4 F T. s6 ?+ F) k 属性值:$ _# Q$ s; @8 H' }6 K2 t4 D
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。+ K' X: A, q5 Q5 g
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
* D8 B( q; x8 a }3 s/ C# w 命令: /Statistics
2 \2 f9 R$ k8 _. Z/ Y9 l9 R 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。; F( E$ [' R7 v( Y
用法:* i$ H) ?' n+ F# J2 @2 @/ B
dnscmd ServerName /Statistics [Filter|/Clear]
1 N) x h' F7 u& F; V8 T5 o: \ 参数:
- n1 ~$ \. k3 F! tServerName % U, c! G8 T3 x
服务器名称,含义同上。8 N3 j. l& f# \0 z
可选参数介绍:: `" `2 y( }4 X* [! r8 q$ j
共有两个参数,每次只能使用其中的一个。; [) E% u% Y1 X7 |9 L* E7 h4 V- q& E
1.过滤(Filter)
) \7 e; W O7 l' f2 N' n7 _7 G) J w 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。- s3 W! N. W& C* c- }4 V
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: , I9 Y. ~+ p" i4 G9 e
00000001 -- Time
6 h! G, b& |9 ^' r2 L 00000002 -- Query
- u0 R, r: d0 e5 X6 d' W 00000004 -- Query2. b! @& A; E# a8 r
00000008 -- Recurse
* ]6 S, U* m0 ]2 o+ f) O 00000010 -- Master
6 G* n( T7 `5 L5 \ 00000020 -- Secondary9 L3 o4 t' t6 @6 G; e
00000040 -- Wins5 O( `/ ` W* t* M
00000100 -- Update
5 L4 O8 h: f6 r( @! `/ S 00000200 -- SkwanSec
, X0 m( X9 G4 D 00000400 -- Ds
! X+ ~- J5 O8 s 00010000 -- Memory
4 _+ N- K' A! i" V; u 00100000 -- PacketMem
- A. t" g N: q" q6 j% S! V: E 00040000 -- Dbase
" E5 c# c; U" x 00080000 -- Records
. a. U2 l% Z0 U; \5 M V5 D 00200000 -- NbstatMem
; H& a3 R! Q! n `9 D2 a& \ 2.清除 /Clear 2 m* b7 u0 c+ F
这个参数用来清除统计信息。5 a) i" i$ h/ J
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。/ ^7 d# r, Q3 `8 h
& `" h& ]! w5 |! ]8 e: ]1 u $ R! @2 t% G" s R! ^ w
# K% o% d/ v4 {7 `% V) B3 [, g+ a |