本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。$ i0 t6 @& J: D, E4 v9 _9 C9 {
命令: /Info
* ~9 f' k; q# l5 m/ @- S 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
5 o% Y4 W4 k' C( H1 L! f6 n7 q 用法:
1 a. i8 J4 [: }3 d dnscmd ServerName /Info [Property] 3 c- c. v( ~7 w+ l" o+ B
参数:
/ C! P) K& F2 f5 t1 [! o- O- l ServerName
* r! m4 @- K/ I+ k- a8 k# M 服务器名称在上一篇中已经介绍过,此处省略。 : K4 p& c% J8 l6 T# D. K" \/ h
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。, R) s+ R4 z" |1 [9 e$ T
下面是该命令使用的一个比较完整的例子:0 q2 Y5 o: n6 t: l4 L; Q
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:, {, C" L) u: r: h+ M3 r. k
dnscmd 172.16.12.1 /info 只使用命令而不使用参数3 B( M+ M: @5 X5 S1 r& G" ?) j
输出的信息:
! {, L; O* a3 l- fDNS Server 172.16.12.1 Information:
2 |; U8 m$ n [C:\>dnscmd 172.16.12.1 /info. e1 t" L- j1 j$ S8 l
Query result: 查询结果! z+ [2 I+ s: ?
Server info: 服务器信息; Q: T7 {' @5 F1 X, S9 F
ptr = 00074718 端口5 P. m) p$ T+ i1 `" g
server name = myserver.microsoft.com 服务器名称+ q) Y( R S0 C8 h2 C, W
version = C2000005 版本. v" E, d+ T) w9 }$ q9 P" }4 C
DS container = c DS“容器”4 C y& F/ F2 @: a; H( f
Configuration: 配置信息 这些信息的含义请参考有关资料0 p" a2 s# p% `: U
dwLogLevel = 00000000; S+ S$ [7 ]0 a- | r
dwDebugLevel = 00000000' [! H- u3 L' [4 l2 i# j
dwRpcProtocol = FFFFFFFF3 Z7 Y; i. ?) `' r( u# W/ X% v; V
dwNameCheckFlag = 000000029 j4 {4 j2 N) M9 b( m8 W
cAddressAnswerLimit = 0
" `7 b, T& _0 Z" r# x: d$ Y dwRecursionRetry = 3. |. U( B/ M, B3 c- [ ^0 h4 Y) b5 }
dwRecursionTimeout = 15
( \) w& n$ O9 H7 Z# Z8 y1 _ dwDsPollingInterval = 300
3 A D3 w/ v7 E+ Q) x% s2 p Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
3 }) c h0 a8 ?5 l; d. r0 W' ufBootMethod = 3
$ h& p' R! J( }fAdminConfigured = 1 , E& R. A) J3 p' a+ t6 N
fAllowUpdate = 1 - D* i1 h) z' N6 y& S
fDsAvailable = 1
: n4 f0 q4 i3 F! d& \6 P, B9 ifAutoReverseZones = 1 $ k B* u/ J, N0 O
fAutoCacheUpdate = 0 9 o8 s0 b) }' [0 e! @& c
fSlave = 0
8 h1 e9 y& a2 v6 z; r& M8 U3 vfNoRecursion = 0
9 O4 _" L& v9 W; s l: k8 tfRoundRobin = 1 ! o U. R$ B! S7 Z, F
fLocalNetPriority = 1
# s* ?( Y4 N+ e2 j, A; [. ffStrictFileParsing = 0 0 X$ a. u* `" Z5 T
fLooseWildcarding = 0 5 n3 ]& D; c) C- a! f* ^8 j- f
fBindSecondaries = 1
6 n7 ^# \4 j0 [7 V7 \# P- N& qfWriteAuthorityNs = 0
* k9 H( \. v! D* Y D) XAging Configuration: % {( @, K8 h2 I
ScavengingInterval = 0 . w5 G7 L! _- x
DefaultAgingState = 0 ! Z% n+ X( \/ m% M2 r2 B* ~
DefaultRefreshInterval = 168 0 @% G% R5 ]1 D c: u9 t
DefaultNoRefreshInterval = 168
7 T6 o/ X1 G- y Y$ m9 C' r ServerAddresses: ! D5 U8 R# y! _
Addr Count = 1
8 m. Y2 K _) r9 A6 W4 S Addr[0] => 172.16.12.15 ] x3 G! s$ t, [
ListenAddresses:
, d9 |2 A9 m s+ Y3 ^7 _' N! h0 _ NULL IP Array.: s6 q& z+ a( v2 y
Forwarders:6 l9 z* S, q* q! A5 Q
Addr Count = 1
# b/ w$ ^: n3 i2 G A. U Addr[0] => 172.16.4.3; L4 ~4 m9 K- [6 z& m/ }
forward timeout = 5
6 j1 N8 t/ I4 U" j: v, Z slave = 0
2 R1 y- a0 f/ Q0 ICommand completed successfully.命令顺利执行完毕
' {2 t' w' p7 j/ I 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 - G6 X& M! a! ^+ G# u5 y' A) S9 h
命令:/Config
- `! p3 M' o2 K! ]0 |- U' w" Q2 N 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。; f3 B; f( a; e
' a2 I/ r9 S$ V- O# c
用法:
8 l, U' e' O/ ] dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
0 w5 O! @& C+ C 参数
8 A/ b, z" B+ ?+ ^$ r ServerName :服务器名称,意义同上
4 f! Z4 j2 M5 c- B, j ZoneName:
/ X2 J6 W9 O# q 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 ; `0 v9 q9 i9 n+ U5 ?
Property: ' G* n* W) K" [& t. F3 ^
这个参数是属性。这里所说的属性有:
' G1 A1 _0 j. [( h; f$ c 与服务器有关的属性:例如:2 }/ O. g% V8 h* J2 }5 n
/EnableRegistryBoot) p8 e& `. ~0 c3 G5 C( Q
/RpcProtocol# |% v: z- o7 y
/LogLevel
6 ]9 B. \, U4 Y& {/EventlogLevel 等等 (限于篇幅未能全部列出)3 h' F5 R* |/ U: }& A% Y
与Zone 有关的属性,例如:
' r7 U9 s0 u+ @2 i /SecureSecondaries: E& Q8 l. d5 c3 _7 [0 H+ n+ `
/AllowUpdate
$ H, }' ^5 A7 h# I" G /Aging
9 E( I9 L3 Q& z. J; M3 d+ t /RefreshInterval Value
3 \- T _) E/ ^3 X' q /NoRefreshInterval Value6 @; @9 s( `# C7 f% o
属性值:
0 U$ z" K% K0 Y2 M8 Y 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。0 K) a6 w# u* Q+ S8 T4 ~6 q7 _' u
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。! {: S+ F5 f3 z
命令: /Statistics8 R' U+ N9 M5 `! J; n# k
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。. `; I/ [2 s- K# Z# {, W
用法:
: J; v2 u. H3 ~6 Y$ q' g! y dnscmd ServerName /Statistics [Filter|/Clear]
5 _( e3 P9 U% @( X; g, u 参数:# Y* F7 ]8 T8 n
ServerName 6 K0 a; V$ w p* ]4 [
服务器名称,含义同上。
% K& F0 l! O, j可选参数介绍:! E. t% K- y4 ?1 F; l% h; |
共有两个参数,每次只能使用其中的一个。! e( h& S, g- E5 |3 a
1.过滤(Filter)" D! W3 y j/ k5 X
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
, A6 G; E' H: n# b可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 0 O: g( M2 }: C0 |
00000001 -- Time
1 v7 U/ g; e0 }: s- z' h8 w0 f9 M 00000002 -- Query1 C, A, S6 P/ ~# Q* h1 t4 p3 O
00000004 -- Query21 B. X* @+ l' H s: o" v3 F T
00000008 -- Recurse; A0 T' B( \& D0 j
00000010 -- Master/ _9 Z3 I) _# {9 {1 J0 l; z* j
00000020 -- Secondary
! V1 f- `$ \$ D4 u 00000040 -- Wins \- O- k, F! r+ a3 J* l
00000100 -- Update2 y4 _& H3 }6 \" g) r) L( p& p+ U
00000200 -- SkwanSec
0 W L% _' Z, I M 00000400 -- Ds# x2 Y3 N/ h2 @1 q2 {
00010000 -- Memory
% e9 h( N, a. l' s' z4 _0 c 00100000 -- PacketMem
& \; M, H9 o7 G4 {& z 00040000 -- Dbase3 V: |: V$ y3 [+ b8 j/ }/ O) E( L
00080000 -- Records
7 I3 B. ?6 J1 O5 G# d; m; D 00200000 -- NbstatMem
" C& Q1 t8 b" ~& N( `4 K 2.清除 /Clear
# _, b1 E; T& Q+ o7 J& h 这个参数用来清除统计信息。* H" {4 P8 m5 Z* @6 g5 G4 H
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。. W2 B4 z2 t, t5 L( R
+ G! r$ y* V6 Z) Y& @
- d% O4 }, P C8 {
* X0 q. }9 Q8 x( H& l4 Q3 ?/ s2 ~$ o |