本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。8 t3 P- r" J, k
命令: /Info - p: F# P( Z, x# B. ]$ [
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
! |9 Y8 s+ W+ ~' h$ G# J% ? 用法:
6 {* {1 l5 Q7 J c dnscmd ServerName /Info [Property]
; b* {) \9 j& k* f% L 参数:6 a* C8 i( {6 ]- n; h, e: ], ^
ServerName
* E4 A. `* [+ ]% g5 V0 ^ 服务器名称在上一篇中已经介绍过,此处省略。
0 V, O' F% |0 s [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
1 w* o2 t/ W7 L# v+ U 下面是该命令使用的一个比较完整的例子:, D4 s9 M+ ?( ]. c+ r- H. t
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:* c$ ]; R" i* K. Z* A4 g0 k
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
! b1 l/ ]: t8 j输出的信息:' b# a* X" c1 T0 s
DNS Server 172.16.12.1 Information:# |4 }% r6 H! A0 {) u9 I. F
C:\>dnscmd 172.16.12.1 /info
3 k/ g# r4 z" L4 P- UQuery result: 查询结果* J6 S# D& F1 M" T1 \- _
Server info: 服务器信息
+ u2 ?! S2 K8 @% c ptr = 00074718 端口2 E% p) Y* G; [) W. C1 |
server name = myserver.microsoft.com 服务器名称( x' ]0 S p: v" s# c. d Y
version = C2000005 版本
2 d6 N, a3 U! Y: t DS container = c DS“容器”
9 p) n9 d- O3 f. u/ K Configuration: 配置信息 这些信息的含义请参考有关资料
8 X6 D7 F+ p6 h. |# s0 f( | dwLogLevel = 00000000
; p4 r; r3 O( f. a dwDebugLevel = 00000000
5 b b2 S6 d0 k, { dwRpcProtocol = FFFFFFFF+ v" }8 |3 S- z0 A/ o
dwNameCheckFlag = 000000022 t& L& S$ Z; T# d. I" [6 O
cAddressAnswerLimit = 0* H. Z+ Q" E; H# K
dwRecursionRetry = 3
. T- {* {. _6 L& p' l2 k3 W dwRecursionTimeout = 15
- e7 C/ b* T* b/ q dwDsPollingInterval = 300
q( j' N# ~8 ^3 v% c Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料; l7 ]3 U& O- X0 w& C5 |
fBootMethod = 3
- S" }/ r7 y9 N/ _( j5 v1 xfAdminConfigured = 1
( n' H7 }4 f0 h. S, qfAllowUpdate = 1 0 o' R* `2 ] n
fDsAvailable = 1 / E! k6 d' i( S; O+ U1 E! g; {, U. Q4 J
fAutoReverseZones = 1 5 J. R, P% I5 _0 E0 u( V
fAutoCacheUpdate = 0
6 u9 c* |# B, Q; ffSlave = 0
0 |; O, Y8 ^! f% V: ofNoRecursion = 0 6 f/ @' F, e( q& r5 y+ E h
fRoundRobin = 1 , b6 g* M3 i5 o0 y. ^* p, f( }
fLocalNetPriority = 1
4 V' O1 D* T% GfStrictFileParsing = 0
+ o5 O4 d2 O2 h" yfLooseWildcarding = 0
3 [+ a& u, L. E) AfBindSecondaries = 1
# k' Y" @- M9 jfWriteAuthorityNs = 0 - t8 D9 _+ V& o6 E/ F( H
Aging Configuration: 3 R" }7 K1 y/ L( I, ^
ScavengingInterval = 0
# e3 [6 h* t: A* z. v0 JDefaultAgingState = 0 7 j. [3 X& B2 ` q' u2 g
DefaultRefreshInterval = 168
H( W3 f. b+ u+ f$ G+ RDefaultNoRefreshInterval = 168
0 ]. C$ `$ y [: V9 V ServerAddresses: % ~8 x9 @- l' N
Addr Count = 1
& d( y! H' y$ \ q2 _9 @+ D; T0 L Addr[0] => 172.16.12.1
' W; o3 j5 D- r) N9 y ListenAddresses:
. q& f. x7 x" a. ?6 O NULL IP Array.
9 m3 f0 {3 ]6 A$ h/ f Forwarders:) [7 C6 T$ {0 Q- k# Q. n8 D' S
Addr Count = 1
+ }' V5 L) Y X" n, K% m Q! ] Addr[0] => 172.16.4.3
4 K/ {4 r3 A& I# f forward timeout = 5$ ]/ d# K) x* f" n- ^2 [1 w# b
slave = 0
' i6 t( B, R: p9 C) ~! p' e# ]) bCommand completed successfully.命令顺利执行完毕 % J7 H6 d3 J7 b- r) i
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
: u9 x E8 A7 Y2 M. @ 命令:/Config
1 j) O: R0 W( S2 f0 l, K 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。3 b! J6 `' H4 {* }3 l# v5 p6 ?5 |
$ \# @& x9 f+ E* [2 Q/ g
用法:1 Z5 r8 ?6 V" a4 l
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value; ?+ K3 w5 A* F6 }& Q4 P
参数
3 z6 L0 d- R1 ^8 d; Z ServerName :服务器名称,意义同上 / o7 b9 n! J( n2 S+ B. {
ZoneName:
; j( H6 U& S4 A! q* [ 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
2 d$ s; X: h6 l& q0 u. @7 o$ I Property: ( }+ n7 N" \- g" U* Q, \
这个参数是属性。这里所说的属性有:
6 b3 A: E: u$ Q) Y2 j9 _ 与服务器有关的属性:例如:" z/ N! [" a6 l" O; ~: a* f& u% \6 c- a' E
/EnableRegistryBoot- ]. s! F2 r6 J, ~6 e
/RpcProtocol! E1 X2 l, G/ h/ r3 G4 Y
/LogLevel) M k, i& ?7 z( x% i
/EventlogLevel 等等 (限于篇幅未能全部列出)1 n! \& L% G! ~* }1 x0 P, H; q; ]
与Zone 有关的属性,例如:
! d) ]9 |) Y, k2 t4 E! E' Y' h /SecureSecondaries
9 v+ a b& n _2 |; u$ s+ R+ {9 A /AllowUpdate
" p% K3 H6 l! t8 D' x; i3 ?$ U J, I /Aging. P: w" Q' I1 S+ X2 }
/RefreshInterval Value
. c8 v8 ~- L! \3 [8 y9 W2 }' w /NoRefreshInterval Value
& N; o; M* g1 I; Y8 _" W3 H5 X 属性值:
: {4 ?5 X7 P: g: h. z1 d" X 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
) H$ N1 W1 Z" H+ U从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
/ W5 e- G! J2 C# K! E w 命令: /Statistics( E0 z% h* j1 m# [" {) O
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
5 l6 u2 i, B E4 D9 `3 R: |5 O% m 用法:" W8 t3 o2 v/ H% |; @
dnscmd ServerName /Statistics [Filter|/Clear]5 {6 Q- E, ~4 z u6 s5 Z' \$ d
参数:4 M8 q; R W+ }8 G9 \& j' V
ServerName " ]7 D. R9 V! ]3 M* g" G
服务器名称,含义同上。! l$ n/ ^% U' _
可选参数介绍:# N3 ~# L- v9 z$ }) y3 L' k* R
共有两个参数,每次只能使用其中的一个。0 {5 j+ y/ b( I) W
1.过滤(Filter): `* z+ t$ C6 v" M' |; m
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
* D, {# ^8 K& C5 }2 C可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
4 T" S6 Y9 b1 t4 @: A 00000001 -- Time
; X. T# B) R2 q5 b 00000002 -- Query
5 z- c2 |( `. j' K6 a# y/ S 00000004 -- Query2' L- z( L$ _% F6 v/ a- `) c
00000008 -- Recurse8 {+ R$ M/ P# M: u5 {
00000010 -- Master
* Z3 N5 n; r* @ 00000020 -- Secondary
# [' V; Y% s3 M A; V 00000040 -- Wins$ J F3 i+ L9 J) U; ]. i
00000100 -- Update% t9 Z! \4 M% A( m9 ~
00000200 -- SkwanSec# V8 N7 J# G! U0 G9 w0 m5 ]
00000400 -- Ds
9 b7 z P0 z+ u: D! i; g2 Q; L: R 00010000 -- Memory
3 Z- n& o9 G; \ 00100000 -- PacketMem4 Q7 L& p- _6 J: c% `
00040000 -- Dbase6 j" l/ k0 M5 X7 R+ b$ s- n
00080000 -- Records# _3 d& O6 g" `! B' l; f. h
00200000 -- NbstatMem
* Z- f" p9 p5 q- A. J. I3 ^ 2.清除 /Clear
9 u% w2 Q% V4 Y 这个参数用来清除统计信息。8 k/ Y; A4 Z" L: E% {
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
9 W9 A1 H0 s: m" {
. I2 X. j4 Q" m 5 s& L" d6 [- U! j
3 O0 y9 Z, V& m: l; i1 d, k0 J |