本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
: g- ]8 d, X( ^* K4 Z4 T: S 命令: /Info 4 E% m k9 t0 K, {' H3 M5 ?
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。) ~( Y3 B" J5 v9 W! \$ R0 r7 m
用法:
/ v' b# N' ]+ ^) u5 W dnscmd ServerName /Info [Property] - n( _: ^& L% v6 G& ~
参数:+ w% R) t5 v# J7 h6 o. a" f
ServerName 0 N+ h" R o- F( [/ N" \: X
服务器名称在上一篇中已经介绍过,此处省略。 / ]; D4 n' _0 h c% L
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
. s+ A) L B+ D3 o0 ^ 下面是该命令使用的一个比较完整的例子:* T9 c. i5 _4 _/ |& e2 \
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:1 M1 M, R- j" {( L0 B! [8 E
dnscmd 172.16.12.1 /info 只使用命令而不使用参数 H% R, j( A8 t# N' d* F
输出的信息:
9 G' ~! h$ O1 S$ f( x; d9 F9 _- lDNS Server 172.16.12.1 Information:
; O/ i. @4 q: QC:\>dnscmd 172.16.12.1 /info
A+ [* V: ^. i5 qQuery result: 查询结果
) Y! z/ }0 i7 J5 u/ uServer info: 服务器信息
0 }7 J+ `2 h1 \& O; B ptr = 00074718 端口2 T$ f' L8 w9 r
server name = myserver.microsoft.com 服务器名称
. L5 K' O9 A8 s S( q: ? version = C2000005 版本% G+ _ e8 { M# ?
DS container = c DS“容器”
& u4 |$ R# j, w+ P Q, N" r3 } Configuration: 配置信息 这些信息的含义请参考有关资料6 t, z* f9 [6 ]; w+ B
dwLogLevel = 00000000; v! | K9 b0 G4 G7 d0 T
dwDebugLevel = 00000000/ k) u% L* d- T/ x) V, U
dwRpcProtocol = FFFFFFFF
7 }0 k& J! {7 y( Z dwNameCheckFlag = 00000002* A( U/ u# p5 a- \0 } ?2 R. K
cAddressAnswerLimit = 0
+ s4 E/ t( `; u6 Y! d* [ dwRecursionRetry = 3' k3 |6 ?( ]0 w1 ~( |
dwRecursionTimeout = 15
% Y4 x9 p$ {5 | f: U% {# j( N dwDsPollingInterval = 300
4 D* k7 _7 w1 V( p/ o Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料! k+ u, E" w8 |5 ]% m/ o5 {5 g# _
fBootMethod = 3 # L8 h' _/ |+ r9 H8 @$ ?
fAdminConfigured = 1 " _9 y) i! F* A$ r7 }6 _& k+ V
fAllowUpdate = 1 0 I6 {' N9 B& {* Z( y
fDsAvailable = 1
5 M$ X* p! g2 c" p, _fAutoReverseZones = 1
) X2 X$ A, U7 Q2 w: B5 l6 R0 zfAutoCacheUpdate = 0
, W9 N2 n6 d6 i: s2 l C# K0 nfSlave = 0
- S- Q2 D# c: {fNoRecursion = 0 3 U$ U4 o$ l' Q3 Q' M/ s. I2 M; O
fRoundRobin = 1 " H Y% W0 _/ s5 }& ?5 G
fLocalNetPriority = 1
! b2 b3 {. M/ Q1 b- h8 u IfStrictFileParsing = 0 / u3 M( s% _' b+ w: r
fLooseWildcarding = 0 : z* m p' L0 G7 g0 @- C
fBindSecondaries = 1
& y/ k7 o8 V H( l# `3 \, OfWriteAuthorityNs = 0
* c$ @) t" r; P4 { rAging Configuration:
+ P1 h. Z0 g& `7 g5 A2 d" Y- v3 \ScavengingInterval = 0
; L' [4 R9 o3 u2 c$ |7 T7 q7 hDefaultAgingState = 0
4 Z+ I0 A7 |" iDefaultRefreshInterval = 168
: B7 y4 d: k. s8 LDefaultNoRefreshInterval = 168
`" k A" }, ` ServerAddresses:
3 K9 k9 T( Z) ^ Addr Count = 1! G; w9 n3 a1 O- o6 L6 a) u
Addr[0] => 172.16.12.1* M% n6 F( |, C% u ?
ListenAddresses:
, S" O) {+ L7 r9 E6 K8 c; I" _- q$ @ NULL IP Array.4 W1 ?( Z: B6 ]$ Q) p8 A: n
Forwarders:
) b* u7 E5 ^3 h' N6 X) F! e Addr Count = 1
0 y0 S# S6 f1 W7 h. B k2 O Addr[0] => 172.16.4.3
$ X1 w# S( T7 M$ o- e9 M) V forward timeout = 58 P" _( z5 Y( N+ ]/ [3 d
slave = 05 u k ?' g( ^* G1 P* ~
Command completed successfully.命令顺利执行完毕
- J9 Y* O/ B+ ]7 h' x \" J8 A9 j 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 4 H; y* I3 s) c3 Y; i
命令:/Config
" r4 A2 y' D3 C) s 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
7 r- Q& @" G+ u
7 F) {8 A- R9 @* @# { 用法:
$ d/ [, A" c; q0 d) x. W# i& x dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
8 U3 o7 ?# R" \. F4 e# O8 x 参数
$ u# n0 K1 f- O ServerName :服务器名称,意义同上
% j7 G8 K o, F, H& A& B ZoneName:* ~+ g; b% @3 \6 [
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
3 t3 S$ \! v! x9 ~# v B Property: ! B& A. _7 V9 O1 }, p
这个参数是属性。这里所说的属性有:2 _" W5 c: i5 o: q: c6 s& K
与服务器有关的属性:例如:. ^' {4 V" B. m- P. Z% d$ A
/EnableRegistryBoot$ a5 g7 f2 F7 v* w7 Q$ R6 j
/RpcProtocol
9 P6 e) Y! p* T# |, ~' e/LogLevel6 z2 R$ o" b) N" O, G. B
/EventlogLevel 等等 (限于篇幅未能全部列出)+ u# t7 @4 K2 ?
与Zone 有关的属性,例如:
. H. a! ] x8 X) T4 R /SecureSecondaries
" K& D9 D: \" z2 w: R /AllowUpdate; v+ Y! P2 F- U& E7 S/ P
/Aging
1 D2 H% b P9 f /RefreshInterval Value& F- B& l. f9 J. V: Q
/NoRefreshInterval Value
& f; u" ^+ D1 P* p 属性值:( t& u% _9 I$ L; t) R
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。" {$ P8 k8 k3 u# D' q" g7 ~
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。: r( W2 ~' T4 H$ w: v
命令: /Statistics
|, l. {+ b: e% R" C 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
9 w5 I \# H3 u, K1 B5 b% V( r a 用法:
/ J( x7 C/ D: R5 E! y. Q) q dnscmd ServerName /Statistics [Filter|/Clear]
s9 B* y+ _1 H; y- H& A3 ^ 参数:
3 z$ O* B" H h* b5 A" E6 G, [% rServerName
f" T& t2 }4 T/ D" X服务器名称,含义同上。( b8 e; ~+ r; z. H- \
可选参数介绍:7 A, O- F# o: _
共有两个参数,每次只能使用其中的一个。: F1 }$ i! }* X( \ ]! D
1.过滤(Filter)
7 H+ }( Z9 V* u; e4 Q+ ^$ |: | 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
1 Z. h! y# t8 ^; V可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
% J U( M) k1 V0 {9 `' P4 r. n 00000001 -- Time( E% J' b Q2 v! p
00000002 -- Query5 X* p" l4 o2 L+ t
00000004 -- Query2+ l- u( W1 B& y& t
00000008 -- Recurse8 @; | d+ v. j2 p+ b
00000010 -- Master4 t# F7 ]0 u8 F% T. [
00000020 -- Secondary( A* x* c! ~) x
00000040 -- Wins+ w/ C, E! C, N& N9 M3 _
00000100 -- Update" O& l- b3 k, g
00000200 -- SkwanSec
$ S9 Y' J2 O: T5 P( m$ P8 A2 [7 J0 Q 00000400 -- Ds3 }4 [9 x" ]- J' U- r
00010000 -- Memory; _, O( c; O% e+ L, R/ C0 P% i8 h4 ~
00100000 -- PacketMem$ k$ |! q: R4 Q* e; d3 i
00040000 -- Dbase+ E) E/ U4 a. Y- _% E4 @4 {; a0 B
00080000 -- Records' m9 _* N/ m: l. x. L9 T, d
00200000 -- NbstatMem+ s: _1 L4 R9 Q& S' b" p
2.清除 /Clear ; w" p- g2 S3 |- p9 B
这个参数用来清除统计信息。
; I; L/ i. Y, U 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。; z: g1 B+ d1 {' N* a1 {! L
/ X4 x6 o" _# y; u; s* A1 J# E ' ^) A( Z! W0 O
$ J) d$ z: U" Y/ n; m% Z
|