本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
: e! a' A6 F5 s' f {3 e 命令: /Info / f. }, J$ v& [3 ~; ~) Y: c/ ]4 ]0 h# J8 _
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。+ B) j& d/ Z4 N( x/ _* {
用法:3 v9 G- J+ n5 F$ q" Y
dnscmd ServerName /Info [Property] 6 l6 U* f) A+ C, g0 b. X9 `
参数:
9 ~* @+ ^5 _5 u ServerName
5 G$ L- R$ e. ]) Z9 B3 P4 F 服务器名称在上一篇中已经介绍过,此处省略。
1 T$ u8 `. v' s1 q; K" t1 @4 r) K [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。" s( W5 A3 v) J+ h3 U& v
下面是该命令使用的一个比较完整的例子:
/ ]) y, O( [! s3 G# L- k 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
. q& S* S! _2 w$ f3 Udnscmd 172.16.12.1 /info 只使用命令而不使用参数, |% B5 A' O5 D, y1 `& A, G( ^
输出的信息:
# K8 q! ^1 h3 @7 D) r# r2 mDNS Server 172.16.12.1 Information:
0 C( R/ x; k: h8 e* B; JC:\>dnscmd 172.16.12.1 /info
) x0 b U0 }# `+ g4 M# GQuery result: 查询结果0 f4 o3 {0 H. A/ R! l. q& @% C
Server info: 服务器信息
# l) {# W! z- U9 Q& d- w; c ptr = 00074718 端口
+ L N5 g7 Q* C& i4 J4 L! @ server name = myserver.microsoft.com 服务器名称+ g. p% i5 @5 y7 ~3 z* p0 o$ `: h! i
version = C2000005 版本
' H6 w$ C2 V+ P3 U- N' v, } DS container = c DS“容器”' I% A( g( G l- M, [* s0 N
Configuration: 配置信息 这些信息的含义请参考有关资料1 G; t7 O u$ }, C. O
dwLogLevel = 00000000
1 a3 V( d2 `; e3 z dwDebugLevel = 00000000
, q# A9 G" g; j, s dwRpcProtocol = FFFFFFFF% v7 c0 K8 X5 d! b
dwNameCheckFlag = 000000023 ]4 X* d) z" s, q0 {0 E
cAddressAnswerLimit = 00 u# t& Z* L2 f" w6 S$ E7 c& a5 q( ^$ b
dwRecursionRetry = 3
) ?0 @4 o. m+ z" T3 S5 x6 |- a dwRecursionTimeout = 157 ?4 q. a# _; L) L$ ~0 T9 i: }" S( N& h* {
dwDsPollingInterval = 300
5 v. H( Z% Y# c6 h$ C Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料/ m( F7 t8 _' {+ V5 O. l. M' y7 G
fBootMethod = 3 9 E0 V; t/ `0 W+ C7 C$ R
fAdminConfigured = 1 " _, g0 W/ a( G
fAllowUpdate = 1
! h' V) \ U5 [& o+ J: l6 afDsAvailable = 1 - ^& y" }6 f# K9 U& F% i0 \
fAutoReverseZones = 1
; [* F' ~5 H! Q ?fAutoCacheUpdate = 0
2 {: [, s* m! v* }! n2 c+ [6 JfSlave = 0
8 o j0 \) d ?! K: j, @fNoRecursion = 0 * Q7 D. m6 ?) u' z
fRoundRobin = 1
9 C) T% d R: u: R, ofLocalNetPriority = 1
( D/ t- ~4 |, n" H6 q( h l* vfStrictFileParsing = 0 1 u4 @" D, \! N& a1 i+ e6 w
fLooseWildcarding = 0
- g5 k6 U0 K8 _( k4 d) {5 n* GfBindSecondaries = 1 & M& X4 ^) Y/ |* e1 [
fWriteAuthorityNs = 0
) ]3 b' j% P' T: l/ lAging Configuration:
. I. g% b; O X& E) J# MScavengingInterval = 0 ' `4 A$ ~0 t6 P6 G, h. X6 ^
DefaultAgingState = 0 & W$ s& w; p @! ~; E S$ c3 U
DefaultRefreshInterval = 168
) a. h3 @/ V% d: h" h. YDefaultNoRefreshInterval = 168
" ?4 ~; P @( {- L ServerAddresses: % g, P! N) y) X) m2 D) B1 _- d4 M& C
Addr Count = 1" n/ ~! U9 o! Q9 h( V! D3 L
Addr[0] => 172.16.12.1; @3 y2 o d' h8 v5 V& I
ListenAddresses:. l3 i9 O }# M" S. p% s1 Z* V
NULL IP Array.( r, ]9 A3 a2 S
Forwarders:1 k: o5 \2 N4 ?$ Y. V
Addr Count = 1+ a: s$ [# `( A# @- c# d
Addr[0] => 172.16.4.3
8 @, g) P; m4 }* H. e& o6 C4 ` forward timeout = 5( F: Y& A0 V- m3 D
slave = 0% Z9 G1 E' y l6 ^# X
Command completed successfully.命令顺利执行完毕 / j3 \6 e# _" E: k( G E
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
5 [% V T3 f6 |, ?/ k. `9 W7 R$ T 命令:/Config
# z. G6 B/ K$ l 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。( U, A. B4 c" N, ^6 t! k4 `5 ]
5 V% K, h `9 o1 _; n& g5 L 用法:
$ g. n: U: T# \ Q' v' A- j dnscmd ServerName /Config [ZoneName |..AllZones] Property Value5 Y }7 r" o& {+ R+ z# f, B
参数2 H1 Y+ |3 A6 Y3 Y9 S/ V; T. W
ServerName :服务器名称,意义同上
% _5 O' D0 c( @* [+ Z ZoneName:
3 r9 ]% H" j0 C. Y# Q9 b 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
9 x8 X" a, f Y- ^6 q Property: T B& ?( Z( K: g7 k
这个参数是属性。这里所说的属性有:
' T% | u }* \( a 与服务器有关的属性:例如:) D" @3 p2 E- l y0 t2 ]% J
/EnableRegistryBoot! e2 j8 W; I' O
/RpcProtocol
6 P( \$ M$ Y: ^# ], v0 z6 `4 `/LogLevel
0 R5 h& o' N% E) l# M1 N0 G* o$ y/EventlogLevel 等等 (限于篇幅未能全部列出)& ^7 d6 |, h% d M! ]. Z5 }
与Zone 有关的属性,例如:& n0 p. o* f3 _) o+ U* ]2 U, J8 l
/SecureSecondaries
9 l4 G- Y4 g3 Z- o7 h; p u /AllowUpdate8 S! _0 S! U9 z! U. t9 I
/Aging
7 Q6 [# m6 X6 D | /RefreshInterval Value
/ C8 L" ^+ F9 s) F8 j /NoRefreshInterval Value$ I3 r0 H9 D7 _1 d! {2 \
属性值:4 e) d: }, b. C3 v7 O
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。: B7 l2 E. d0 i- [. m4 t7 a0 w0 ]
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
0 b2 D: q+ m& _$ Z: @2 H 命令: /Statistics
- B. D( D9 a! _ b" j' j _ 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。* p/ h2 k) _: }0 z$ y2 y
用法:# R$ @, y7 V7 ^% x2 a+ O
dnscmd ServerName /Statistics [Filter|/Clear]* q( {: z! f* I; P8 X1 f6 k
参数:2 h4 t' i- x% _& {
ServerName . T3 X# K: I+ ?6 p. J2 r; R
服务器名称,含义同上。2 G' ]3 O V" v5 F h( |" [0 W4 P
可选参数介绍:
. f! H' ]. X8 S) }共有两个参数,每次只能使用其中的一个。4 z) V+ b& p, Z. j: D# \3 o
1.过滤(Filter)
( d2 R( B( L, `1 H" x 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
$ j! R8 \4 n1 T* i可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: # \% r v1 @1 F- Y( H
00000001 -- Time
5 p$ u" B3 m4 J" f# I 00000002 -- Query
8 k( D: _8 ?, _5 s4 f6 b, O" t% ? 00000004 -- Query2
8 ?3 O; M* J2 ~( b# i1 f$ G% k9 A 00000008 -- Recurse
# F0 U" T! S# b% e 00000010 -- Master$ t; `$ [6 m/ U& ^& o
00000020 -- Secondary
" ?* P% ~6 Z4 o, n 00000040 -- Wins
% h( s6 e- e* O' ?' C% f- p/ B 00000100 -- Update- |" x1 x3 H" k. q% [% ~5 f
00000200 -- SkwanSec
: a& y; b. t' [$ A2 f' f# ? 00000400 -- Ds# |) @, w, T/ @; u
00010000 -- Memory
6 ^3 s5 p) Y2 J% Q 00100000 -- PacketMem1 X, m7 H* V, g1 }0 n$ Z# J, X
00040000 -- Dbase- m5 G# F. s7 F/ X, ^
00080000 -- Records
1 k2 U& G6 x' \$ { }* q 00200000 -- NbstatMem
: _! o! x9 M, x- w 2.清除 /Clear
2 X0 [3 U# G7 K: j2 z* l 这个参数用来清除统计信息。/ \3 V# D4 b& I# P, c C1 t, J
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。+ G5 W% o. a$ M3 v
. `) l- z8 K ]( {. F d
5 m% B& l7 ]0 I# j* R
" V+ A6 M9 A9 U* P% k* K |