本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
W' J( M7 G6 P5 J1 ] 命令: /Info
' G3 _9 ]; r J( U8 c* ~ 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
0 `( m8 H9 K, }& m+ ^7 w 用法:
! d1 s4 y! p! y- N s dnscmd ServerName /Info [Property]
, ~2 A( A% V/ M s1 s% B6 `4 v. ^ 参数:- `+ K' a/ b! D& P
ServerName
0 ^* h! ?9 M# S) V4 ]9 C 服务器名称在上一篇中已经介绍过,此处省略。
. K7 A8 r5 s2 I" H0 W7 G [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。) M0 ?$ q% q1 o) Q! J+ ^
下面是该命令使用的一个比较完整的例子:
) R/ L; \$ t/ r" C 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
% m+ d+ o# T& odnscmd 172.16.12.1 /info 只使用命令而不使用参数
: S3 M' u3 J7 X0 w6 {# s0 D输出的信息:
9 V/ e% h6 A/ h# E9 B- }! t8 E' I. pDNS Server 172.16.12.1 Information:! G3 c* G6 C4 H
C:\>dnscmd 172.16.12.1 /info
. J6 t5 S1 x. `: x; [ pQuery result: 查询结果7 V3 N! u5 h4 ]
Server info: 服务器信息
) H" M+ w8 ?) N* q$ J* x& e ptr = 00074718 端口2 ~( Y7 Q+ y4 h9 b
server name = myserver.microsoft.com 服务器名称
0 O% C+ V# k9 c+ w version = C2000005 版本
7 J% O; P0 a, ?3 L6 @+ ^& h' c DS container = c DS“容器”! m, {4 E$ W: [0 q6 t6 L7 ^
Configuration: 配置信息 这些信息的含义请参考有关资料+ a/ g, O7 ? v7 L$ v% V
dwLogLevel = 00000000
% L" ]9 ]9 h$ S& O dwDebugLevel = 00000000& Z# {2 g3 e9 _3 [
dwRpcProtocol = FFFFFFFF
# m& b+ V9 e# a dwNameCheckFlag = 00000002! h8 B/ C5 Z. p, k: @% A G& e
cAddressAnswerLimit = 0: N1 C% k+ j3 F9 z( k5 n5 S7 v
dwRecursionRetry = 3
/ r* a. U, I; Z9 B( \4 Q dwRecursionTimeout = 15
" ~, |$ L7 ?. v% e/ b! g dwDsPollingInterval = 300
! V5 T. J' z1 R- h Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料- t! M4 Q2 O0 t! ^- J. s, s
fBootMethod = 3 3 h- q' `! R7 y! W' l$ A6 g
fAdminConfigured = 1 + W4 l! R; L- S* v# ?
fAllowUpdate = 1 8 B$ ^) t& e3 F" m4 t
fDsAvailable = 1 - y8 r# w& }9 S6 S% u
fAutoReverseZones = 1
9 L4 D/ M- u* h5 @4 c4 YfAutoCacheUpdate = 0 4 X2 v/ d* f/ p' S; K+ W5 ]4 D0 c
fSlave = 0 5 L) {' k* y" K5 j6 i! u) z
fNoRecursion = 0 / U& C& \: E, B$ u& H
fRoundRobin = 1 " W4 ?7 F3 k/ a8 S$ w
fLocalNetPriority = 1
" E, K1 f* [; a8 hfStrictFileParsing = 0
+ ~/ N+ ]/ D+ Z$ cfLooseWildcarding = 0
- n% r& L- C, q8 ~3 f6 j" j4 O$ O! dfBindSecondaries = 1 9 {: s- b9 S# y1 s, U- p) c
fWriteAuthorityNs = 0 / m, L, X/ N/ C1 E2 g9 ?' i
Aging Configuration: 8 M+ y8 J: H. V
ScavengingInterval = 0
3 N$ T+ J6 n2 ?! Q( r+ g" MDefaultAgingState = 0 / x0 G3 A- a+ U9 L, b# Y$ O( ^# J7 g
DefaultRefreshInterval = 168
8 F- Q: |, i. L) {; n1 zDefaultNoRefreshInterval = 168
, K a) [0 ^! P7 r* e ServerAddresses: ; l' k/ i* E' H$ j
Addr Count = 1
3 v& ]. |- e7 Q# E5 g Addr[0] => 172.16.12.1; w/ z5 R9 r: D) l3 [# j7 U
ListenAddresses:" V9 }/ O" ]% e9 ]9 q
NULL IP Array.
, w* L. O; n' B4 i5 [2 l Forwarders:: a/ [' |# u0 ?3 J$ o4 ~
Addr Count = 1
& P! D/ H* W. ^0 j/ ^3 b Addr[0] => 172.16.4.3
2 H, e$ m. |/ I; Y% u9 z forward timeout = 5
/ \) `, T9 |: s8 @- ]/ G4 s slave = 0; r5 _; b. _' Z
Command completed successfully.命令顺利执行完毕
2 O* m: Z7 d6 o/ @$ f 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
7 r! b% v2 d+ X& U# X 命令:/Config: j: y1 D* d, p! h" Z+ G7 z) x
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
9 q0 `- f# A: h* p* G7 L
+ @4 _9 }: q$ j Z7 C( Q3 M8 H 用法:
$ T9 D8 X. j* _6 O dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
, L/ {5 E4 `/ ^ 参数
- x# V$ P6 ]# [9 t+ ? S3 x/ g ServerName :服务器名称,意义同上
, G5 i! o0 ` c, S' e, P3 l ZoneName:
8 w7 P: ]$ W0 S1 r; }4 i$ l3 ~9 N 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 ( Y6 g' G/ ^# r" F3 u. ~. k5 F
Property: $ U5 N! B5 g0 E7 }/ _' u* m
这个参数是属性。这里所说的属性有:& Q. J% o t4 p) h
与服务器有关的属性:例如:2 N6 `1 M' D3 ~: x, Z
/EnableRegistryBoot
& X) c$ i c, h: {2 P. |/RpcProtocol# `8 U, I( l7 {! Y: w
/LogLevel; V, I$ |! N7 ]# e
/EventlogLevel 等等 (限于篇幅未能全部列出)
, J( [5 R+ l( Z; g与Zone 有关的属性,例如:
7 {( s& ^$ T8 U3 T. i /SecureSecondaries: c/ X/ }9 F! w+ m$ c5 r1 X# K/ z5 Z
/AllowUpdate
P) c: ^' e9 p! M3 w( { /Aging
* Z: ?& }2 N, T) B$ Y; z /RefreshInterval Value% v# K( `- k4 y3 @# i
/NoRefreshInterval Value, P g' q. |. P8 r1 r
属性值:5 o3 q& ^$ \3 G: j" v# h0 _/ G) K
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。7 ~6 w5 M( R. J$ _- o, l
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
( k, {1 v b- }( S) X) ~9 Q5 H 命令: /Statistics
8 t6 G7 B5 v, S0 S% h: s! I# Z' C& X5 M: [ 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
5 G* E4 V( N4 v 用法:
$ N8 G# | I. d; U5 E, X: {+ ? dnscmd ServerName /Statistics [Filter|/Clear]
* `; g3 _2 g$ ` 参数:; \% c) P1 s, ^2 c! U$ D& j
ServerName ! n' A* v7 l+ S' w* [" E8 ?
服务器名称,含义同上。* D! ?0 ?. z1 v) K
可选参数介绍:
' y# V! u( \* y s' O! m: H共有两个参数,每次只能使用其中的一个。 @! w2 N( z* U! _; |8 D
1.过滤(Filter)
2 w- T! ^* z% Q0 A* k2 q 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
) k: h* P' p7 u: r# z7 D( z) R$ w, u可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: ! j( |& z4 B3 m
00000001 -- Time; |7 n/ u. R( w
00000002 -- Query
- N [/ A3 g: F9 A) {/ b7 L 00000004 -- Query2
, S* p) i" d7 F$ N 00000008 -- Recurse
0 e4 g& _4 V! G$ Q 00000010 -- Master' b+ ]3 q: K I: ?1 K2 A2 [9 Z
00000020 -- Secondary
) Q& u( o5 c( v' A" x4 @5 n 00000040 -- Wins
1 j% H8 u. n O0 b ]- O' ?3 A9 W 00000100 -- Update
; d& B( Z8 r. R, }1 e 00000200 -- SkwanSec
3 i X8 i+ P- i: ?+ ? 00000400 -- Ds
1 e) ^& K! u4 O7 x. F' ?* k 00010000 -- Memory( c @8 t! U/ \
00100000 -- PacketMem' c% s+ F. {8 F- K! \
00040000 -- Dbase
! r5 W, J; O. E' k 00080000 -- Records* B5 g( v$ n; y
00200000 -- NbstatMem" C& ?# R0 J7 d, Q; b% G- d
2.清除 /Clear
, q# x# Q# ~( j 这个参数用来清除统计信息。+ [3 H+ m; U/ q# t Z. S
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
0 s% v. z( h! B' w
# B. n6 D, J2 N8 `& E! y
6 H- Q6 B, _) [2 y! d' w6 p/ G+ R( ~5 J/ P& b+ X+ h* p1 k, G
|