本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。+ C9 B! p) x4 K- u; G
命令: /Info - r0 k9 @- a8 N5 y
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。1 b* Y. s$ D2 X5 T: t/ M
用法:& m4 f% G" N4 ^7 ~- Q
dnscmd ServerName /Info [Property]
1 w& k8 m( p3 q0 w8 U8 v 参数:
9 u8 S) Q$ f# C( k: { ServerName
9 D$ ^( K2 p- s' n6 i1 R 服务器名称在上一篇中已经介绍过,此处省略。 - o$ ]. o! A1 {1 {
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。0 T/ t' S" {5 J8 H# H& p; ?& L! K
下面是该命令使用的一个比较完整的例子:& U8 t, m5 X- Y& M3 e$ s/ u/ a
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:# f# y7 m. d) D
dnscmd 172.16.12.1 /info 只使用命令而不使用参数: S& S- g: o$ f8 F* O2 r+ H
输出的信息:# K" {) S$ n; B5 v
DNS Server 172.16.12.1 Information:
! n8 q4 F. [4 ~- }) wC:\>dnscmd 172.16.12.1 /info
9 x0 A* s9 i% ?4 C9 ^Query result: 查询结果" F( q& @! ^' F; }$ v1 ~( l2 | X
Server info: 服务器信息1 z/ W- \' r9 X; H- _/ I; W
ptr = 00074718 端口
& U; P; o" e V% s) ]/ _6 m server name = myserver.microsoft.com 服务器名称
7 O- ?( Y1 b0 h$ \9 b# P+ Y* }6 M/ T version = C2000005 版本* }# e! |0 X1 s1 ?
DS container = c DS“容器”
! ^; j0 k* |8 D- O Configuration: 配置信息 这些信息的含义请参考有关资料
* x9 F( W' V0 {) r9 w+ n dwLogLevel = 00000000
- B. N2 W" C m n dwDebugLevel = 000000001 Y7 R. F$ O7 A$ g0 ^
dwRpcProtocol = FFFFFFFF
0 Q1 K+ d! F5 {1 \* L7 s; q dwNameCheckFlag = 00000002
) q( ]- W$ O8 s# a4 P7 X; h cAddressAnswerLimit = 0) q* b' K8 ]% u% U# W
dwRecursionRetry = 3
1 P( A, H" H4 F5 d dwRecursionTimeout = 15
9 N) d" f% A' c3 `8 c dwDsPollingInterval = 300% e! v+ i5 \" o( |
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
) p# ^ ~! |: P" i' S/ G- v5 kfBootMethod = 3
: y: B6 M' M# x( j$ KfAdminConfigured = 1
, v0 {. @2 S$ e: G7 S' PfAllowUpdate = 1 8 o( y1 u: w: N7 J
fDsAvailable = 1 . M: f' M4 \5 g* J
fAutoReverseZones = 1
0 t I$ m: o& ZfAutoCacheUpdate = 0 0 O8 c9 H; l$ [ L+ n
fSlave = 0
& q7 {' q5 z7 | G# Z6 z% d: P) hfNoRecursion = 0 + y2 {8 E: a3 F* u \
fRoundRobin = 1 , B3 v: r z' y) l% I- T
fLocalNetPriority = 1
# N$ v% R+ N# B e/ U, X }fStrictFileParsing = 0
! |2 d% k2 D$ P, u7 Z' ~fLooseWildcarding = 0 1 g# F- B1 i, e0 _% F) @7 S1 _
fBindSecondaries = 1 5 o6 S: w( ]$ I- S. K& r7 t" t6 i
fWriteAuthorityNs = 0
! n0 Y& B" r% t9 y) eAging Configuration: # x1 K {+ I- |- L/ H* P# S5 K& z0 M
ScavengingInterval = 0 3 S- L, B+ u b6 ^0 D' P7 ^
DefaultAgingState = 0 , d5 H: w; K' W6 `& f
DefaultRefreshInterval = 168
4 g/ L' V0 h# |7 oDefaultNoRefreshInterval = 168 . `$ D: Z- u% f2 Y5 g; d( i7 m, j" G$ s
ServerAddresses: G. Y& [/ p0 d$ f- X8 J
Addr Count = 1- M; _) a7 [( F2 A6 ~
Addr[0] => 172.16.12.1, E4 P- J" o2 N
ListenAddresses:" [6 ]* O3 k# `( H$ f
NULL IP Array.7 T4 m. M( g6 V7 j
Forwarders:
' R5 x k0 [5 A( R; A Addr Count = 12 G' S0 C; H. U3 R9 h& z' l
Addr[0] => 172.16.4.3
6 h0 R6 b8 J' r3 ?" s forward timeout = 5- g$ B& M% }2 \/ ?
slave = 0
. _4 i& m B/ Z# oCommand completed successfully.命令顺利执行完毕
2 p$ u0 o2 v- J* e& \ 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
- ]1 `) W* V' {! i+ t 命令:/Config
~6 }$ B1 i9 r3 v( g$ L0 O 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
8 `( J! n& U) E4 C: ?3 Z
& n2 W2 v+ A0 w, x" h+ B4 h 用法:
9 H7 }2 Q: V# K- o% @- I3 ~7 S4 `8 U dnscmd ServerName /Config [ZoneName |..AllZones] Property Value% X) o9 E8 m( ^9 A! S. I. R, X
参数' O U4 d/ c0 ]
ServerName :服务器名称,意义同上 8 w2 J8 W! m0 S3 r
ZoneName:
( ~. z0 v3 V3 s 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
7 ^$ _" E; o% E% Y) l. t( m6 X Property: ; a; W" @& R2 z: D$ B
这个参数是属性。这里所说的属性有:
6 ?2 v2 G4 W, T 与服务器有关的属性:例如:
( x6 Z4 ~$ h9 E) m- w/EnableRegistryBoot0 p2 S2 _" X G5 i9 u
/RpcProtocol
/ M8 G5 r& j: q z/LogLevel# G! [3 Y2 [( c, i$ x' a- S0 G
/EventlogLevel 等等 (限于篇幅未能全部列出)
: v. P0 x/ y$ u- n( ~ F0 j+ b与Zone 有关的属性,例如:" k! ]8 ~1 q2 X- z6 ~
/SecureSecondaries
! {( e' C5 j7 o4 N# I% W /AllowUpdate. U3 w' I6 N1 i, c4 e. Q* D# M3 h* u2 h
/Aging& J K: F; }! d5 h- `( z- b
/RefreshInterval Value
0 b, W; t: d/ F W /NoRefreshInterval Value& i4 ?! S+ x( z( {
属性值:
% h. \ H8 Z) c, q# K& e" T 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。9 X5 H0 W8 H E
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
+ H$ _- o \& n3 ] 命令: /Statistics
* `) T. F4 o0 Z 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。, v* R5 u0 ^! U* M8 E; _
用法:
0 r, `* r& o1 `9 e2 H B, n dnscmd ServerName /Statistics [Filter|/Clear]
8 `8 Z- ^' i/ E8 ]9 O' d 参数:
- N1 Q' ^! q. {8 x ?) UServerName ; c4 u( \5 l0 l6 B {3 D
服务器名称,含义同上。
: }$ B$ T6 z! ]+ ~7 G可选参数介绍:
$ g# r, b- `& B0 l共有两个参数,每次只能使用其中的一个。# { p3 I7 B& Q
1.过滤(Filter)
! p9 g$ C5 z5 e0 I; n7 k 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
- h9 l9 k( z- F可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
! z4 j9 k, w. n( o- i- p 00000001 -- Time. N9 d1 x9 h; [4 [/ W# [* g
00000002 -- Query5 L0 T, V; L1 T( x
00000004 -- Query21 C0 [ O8 x$ G3 E# `8 d ?
00000008 -- Recurse a; z+ Y2 a$ U; h$ D: P
00000010 -- Master6 @6 h7 T0 S6 @/ } |
00000020 -- Secondary# f9 U4 ^. m: ~9 B; M
00000040 -- Wins
/ \! g0 q3 N0 j* J( b4 l 00000100 -- Update
8 Z- o9 B+ p0 q& W( w! M5 d 00000200 -- SkwanSec
" Q( Z9 u* Y0 q% v5 M/ l 00000400 -- Ds% N- @' J+ _8 L4 B9 B4 H0 e
00010000 -- Memory
% g* j4 m6 g) ^- J L Y5 t) d 00100000 -- PacketMem
+ B( @- l- S* f8 Q9 \ 00040000 -- Dbase3 z/ v' W* ~! ~/ c+ L2 v
00080000 -- Records% }7 B, p' z1 u4 k4 Z
00200000 -- NbstatMem* P8 K0 j4 E$ k/ p0 a. b
2.清除 /Clear
- F( S2 n& G5 Y6 q% |/ \' f% g 这个参数用来清除统计信息。
$ q0 R: O: o4 v+ Q 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。7 j" S9 X+ H+ X- a6 Z
* u" G' R/ G L" g " U' |1 o6 ]% b
/ w0 U) p) Q) k' _* W |