本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
9 A4 ^- M8 q/ [2 J, k# F 命令: /Info
1 H9 u4 Q5 H$ q& \ 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
% O+ ~! I) ]! E7 f4 B 用法:
( z( E1 \7 b+ I) F9 Q$ ~ dnscmd ServerName /Info [Property]
5 v& N. l; X2 I- k 参数:2 S* b! G, e( K* s- G3 f
ServerName ' } {3 j8 n- P
服务器名称在上一篇中已经介绍过,此处省略。 : e! r4 S+ l2 p# B2 @
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
1 ?" O1 i# N3 i0 E6 b 下面是该命令使用的一个比较完整的例子:9 {8 |& Q& K) ^( u. o/ n) y
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:* k. Z# B& }0 X: ^2 w4 ~, A' Q. l
dnscmd 172.16.12.1 /info 只使用命令而不使用参数1 q x$ l d5 `! S) `4 D
输出的信息:: P! [& e% e O8 m8 X! f
DNS Server 172.16.12.1 Information:
$ k7 R* ~. v* S. T7 LC:\>dnscmd 172.16.12.1 /info f9 r9 a, K E. o. C" L1 I( G
Query result: 查询结果 N, q' ^$ u! Q$ S/ P
Server info: 服务器信息+ s: ]8 `- b1 o: E
ptr = 00074718 端口
- P' ~4 M' ^' V! b- b/ A server name = myserver.microsoft.com 服务器名称/ J$ ^- `# Y& K# ^ [
version = C2000005 版本0 a) V! g& V+ c; `0 y
DS container = c DS“容器”
2 H: O* p: x, l. J1 c% c Configuration: 配置信息 这些信息的含义请参考有关资料7 c" p5 Y0 w/ {' p
dwLogLevel = 00000000% v( U0 A) j- _% k% M0 Y( C
dwDebugLevel = 00000000# J0 J3 I- b0 P: B% N, H
dwRpcProtocol = FFFFFFFF% v6 K7 @6 j! W! Y* G: R0 d
dwNameCheckFlag = 00000002
`6 H2 s2 z, G cAddressAnswerLimit = 0
. r1 G8 {4 i% h6 y dwRecursionRetry = 3& s6 ]% ^$ m3 ?9 U' S/ K# n' N9 _
dwRecursionTimeout = 155 Z0 J6 E+ c- l; i9 |
dwDsPollingInterval = 300
5 j8 B: g5 \- u% @: Y$ r( S! E Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
" Y/ X+ [9 K }3 L U7 ]fBootMethod = 3 + s! a4 {. z8 \8 o! z% m
fAdminConfigured = 1
5 J( n/ s- }! Y" b8 w$ jfAllowUpdate = 1
# F3 j2 K5 ]" U4 W/ _% dfDsAvailable = 1 9 R( E0 J p) O3 J6 j# C/ C
fAutoReverseZones = 1 B, Y# z2 M$ p( ~
fAutoCacheUpdate = 0 , k9 L. ]3 D- d8 I1 U9 a
fSlave = 0 % l& h! q' T, l C) H
fNoRecursion = 0
9 C: x( f2 K) S1 o" s- u* X" d- g, cfRoundRobin = 1
$ r0 \3 x1 W* ^7 C; P) q, RfLocalNetPriority = 1 % C; n$ `9 ?+ F# K/ o H3 o8 f
fStrictFileParsing = 0 # V! \/ [& F% ~3 r) I* t6 v
fLooseWildcarding = 0 4 [; M2 q) Y. a2 C/ l" A5 L
fBindSecondaries = 1 6 r) v' b8 b/ C- e# v
fWriteAuthorityNs = 0
$ y/ }, ~" y- S" h7 bAging Configuration: - e5 f8 D7 U- `: I& C
ScavengingInterval = 0 2 X5 a6 Y' `, ?0 e
DefaultAgingState = 0 & e1 v5 m! X: ~$ I7 \
DefaultRefreshInterval = 168
1 J0 @- u& V6 s1 jDefaultNoRefreshInterval = 168
' p: x8 `* {) y7 c' G. a4 V2 L' d ServerAddresses:
2 _0 n, p4 e. ~, T( m Addr Count = 1+ t/ `! `# a; o8 P
Addr[0] => 172.16.12.13 W5 j% B, ^4 Y5 p3 x
ListenAddresses:
5 A$ Y9 d$ N: ^$ Z2 P NULL IP Array.
. k% b" l: I& X3 l5 @% | Forwarders:
) X4 I7 z: S1 `& x; s% g Addr Count = 1+ d) C7 z( ]8 |. p" Y5 O) d' E
Addr[0] => 172.16.4.3: P3 J8 h& m& K6 F! z& G6 y5 u% L
forward timeout = 5$ {2 c( O. a& T3 h* U6 f% X0 Q
slave = 0
+ Y) B: H8 g l6 E" v0 ^Command completed successfully.命令顺利执行完毕
% @6 `( Z" P8 f2 E& v 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
* j5 z4 O( A1 y6 F9 G 命令:/Config
! Z G* a9 ~7 T3 `. n: V, z6 b 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
8 P8 n) {7 V& d4 Q( w) @7 \. ]" |
) c, a9 j' y! ~- X+ V 用法:- ?6 u! A9 K @) D! e
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value0 l B z& h h2 l I
参数' r( O0 _* \4 w
ServerName :服务器名称,意义同上 ; ]5 ]1 o/ Y6 C& G/ U' d7 L5 l" \0 i1 X
ZoneName:+ \9 x p/ }. R
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
, d$ x3 ~! [4 x/ t, Y Property:
|5 S- Q# f/ s/ o 这个参数是属性。这里所说的属性有:
4 c8 ?# Y/ k& O) u2 U5 I 与服务器有关的属性:例如:
' h+ D& I g: r) J( o3 s) ^/EnableRegistryBoot
! y& k8 j9 h7 n' }7 N/RpcProtocol- G) p w2 @- J. o4 R" r. `
/LogLevel2 K& d. }* o9 K( _' m0 Z8 U
/EventlogLevel 等等 (限于篇幅未能全部列出)
, Y5 p4 T! C1 }. E. \, }与Zone 有关的属性,例如:- U8 D5 N6 R0 z9 e$ k
/SecureSecondaries
9 n# \# d! p6 _& { /AllowUpdate6 I/ G2 t6 ~7 _8 B' V( ?
/Aging
1 {' _, _3 j8 i6 h( z1 Z /RefreshInterval Value
. V9 H* [/ T6 x9 `4 z /NoRefreshInterval Value
. `$ K+ g( s/ j# C0 r% b 属性值:7 G" ~! C2 b6 k' c3 u
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。! ?/ {- u q( g* c! a& p1 X! s
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。0 [7 O" M7 w: v# l% H5 i) Z
命令: /Statistics' S# {) E, b% z" D5 P; ]
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
3 u% F+ x7 l, { 用法:
- O0 G7 g @* U% r. M0 ~ ` dnscmd ServerName /Statistics [Filter|/Clear]. T: i8 ]- T! p. Q3 w5 @
参数:( v- Y4 x9 v" I0 e" I! h( K
ServerName * N$ k# O; `% |; Y Z& _: Z
服务器名称,含义同上。
# [2 T3 s m/ x6 U可选参数介绍:
, o- A: [# C+ r8 A6 h- P/ ^$ B% b共有两个参数,每次只能使用其中的一个。7 N7 \% Z `% g2 I: @) {" \& X) K
1.过滤(Filter): a$ ^; @- i. s0 `
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。# Y; M; y: X0 A5 b. R2 d
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 1 R, ^, |( j" [: I# U0 b
00000001 -- Time* R4 p- H2 W- k3 v
00000002 -- Query1 Y' G/ j( v; N" i- K5 [
00000004 -- Query2, u( d6 I* P9 }6 I9 @
00000008 -- Recurse3 b8 v1 E3 ~) W5 e5 A3 U5 O
00000010 -- Master
" T# R- T( V! a! g; F* s 00000020 -- Secondary0 I1 R4 g" Q" P8 X9 J9 X' N
00000040 -- Wins
5 Z$ L* D& \; A9 x* V+ V+ u/ i1 e% a 00000100 -- Update7 H5 g4 d. r5 S8 d( p; w% e
00000200 -- SkwanSec
2 o, O+ Y3 b, N) x% C" \ 00000400 -- Ds
* I W& h# W7 l _0 n' t% P+ x 00010000 -- Memory: \! M* V2 h9 Y" W% H* j
00100000 -- PacketMem; `# u% f& O5 U+ }8 W3 q
00040000 -- Dbase
; P3 M: J1 ?$ J 00080000 -- Records: o: |3 ]; y: D% O* X% a
00200000 -- NbstatMem+ f6 W3 l1 Y _4 P" T
2.清除 /Clear 7 T3 o$ l5 d- b% |" i8 T% {) b- p- g$ {
这个参数用来清除统计信息。
# r! D0 Y6 ^! N7 [) ]" I 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。, V0 F9 T- X1 U9 |( o$ O) z
$ S- b' I- V& x & c( l' I, l9 t' \3 U5 o
! y4 I5 i4 h8 U2 Z+ Y |