本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
6 X* {# A5 e! R# S- A 命令: /Info ( ?& b* G: @, o. `% ^
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。7 `- n" _- x( P
用法:
; d* F8 |& r/ t/ ^ dnscmd ServerName /Info [Property] ; K, R, `9 d( {5 H' I# H
参数:
* t7 p9 I' y, y @6 X3 j2 f ServerName ; u5 ]7 i/ N8 w7 f/ N
服务器名称在上一篇中已经介绍过,此处省略。
7 b! l* |' J5 c& P& A* f) R( F [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
8 T( Q( F$ T/ H* j 下面是该命令使用的一个比较完整的例子:
* ~. _% O3 n! ^' |+ {( h 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:5 K3 `4 I9 U! _+ n9 `3 t
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
$ @- ~9 y( J5 Z2 M输出的信息:
% X6 i6 o ^0 e8 O; EDNS Server 172.16.12.1 Information:
- i; |' Z1 C0 X# E5 cC:\>dnscmd 172.16.12.1 /info2 O+ K0 l* A. L5 d6 O4 V4 x7 I
Query result: 查询结果2 w# i( m, b# _7 w V& U6 O4 n
Server info: 服务器信息
! |: W9 J3 H! D% l ptr = 00074718 端口
! G' }# ?8 X' e6 i; O; ~2 ?/ p server name = myserver.microsoft.com 服务器名称
% i9 @' y1 n& X2 ^) U version = C2000005 版本
5 }$ P( {4 {) ~$ @& x DS container = c DS“容器”" x6 [' ? k/ ?6 u$ x' s* x( \
Configuration: 配置信息 这些信息的含义请参考有关资料
/ u" I3 W; m8 y( N2 u dwLogLevel = 00000000
& G( U% q0 v6 x/ |, W- F dwDebugLevel = 00000000
$ L; u- w0 |3 k, g) ?# t. y! E dwRpcProtocol = FFFFFFFF6 \' w8 K2 y N( F
dwNameCheckFlag = 000000022 j+ I# r: s$ Y2 I0 n
cAddressAnswerLimit = 0
+ ?* c7 U2 M( F# y0 I2 D7 | dwRecursionRetry = 3% Q! Z1 z& n1 N) U4 o
dwRecursionTimeout = 152 k4 @- L, ]% f$ E6 a
dwDsPollingInterval = 300
1 n$ `( \* j- a) L+ O$ ] Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
! z5 R4 V% g/ dfBootMethod = 3 2 \) e2 W0 |4 F! V: o% I3 L
fAdminConfigured = 1
3 F: ~' F- j8 SfAllowUpdate = 1
5 k2 n2 l* ~3 u3 m9 [fDsAvailable = 1
( m. o5 Q: K9 BfAutoReverseZones = 1 , X5 d# U8 i% }/ n& k- m
fAutoCacheUpdate = 0
z7 I2 k8 }! nfSlave = 0
) t" p+ o0 F* n, ^( FfNoRecursion = 0 % K& M& j3 }6 V+ E0 n$ ^
fRoundRobin = 1
2 j- [3 K) j- S5 f rfLocalNetPriority = 1 . P5 L ` [6 q8 ?) X5 [
fStrictFileParsing = 0
4 b' O+ S2 ^; Z' {# D6 n l3 x" YfLooseWildcarding = 0
' v' T, e5 M5 z, e9 Z1 BfBindSecondaries = 1
7 B$ ?- I+ a; RfWriteAuthorityNs = 0
; f6 h1 I; L0 y2 @Aging Configuration:
6 a1 m5 r5 h$ M! TScavengingInterval = 0 - ^3 O7 d' g/ R* u7 q7 U; }
DefaultAgingState = 0 1 T5 a6 z- ^9 {1 Y! Q
DefaultRefreshInterval = 168 9 g; s/ j* \+ N1 O% ?- Y" `
DefaultNoRefreshInterval = 168
6 y3 y0 s/ S% K u' N ServerAddresses: - y$ z: t0 x/ Q1 G* h% q
Addr Count = 1- q* h( X) [( _
Addr[0] => 172.16.12.1
0 P" W* S+ _" R ListenAddresses:: l$ A2 U( q. w
NULL IP Array./ V: P3 `' l4 }
Forwarders:; Z+ g/ X1 U! o8 E
Addr Count = 1) F7 r8 m% v0 Z" l2 [* L; B1 Q
Addr[0] => 172.16.4.3( E8 _% l5 d" [* {
forward timeout = 55 C, h% k: r& F& Q$ C4 y
slave = 0, K- k; U. n% o- q. _; R
Command completed successfully.命令顺利执行完毕
+ O5 R$ N* s/ Q9 f8 L 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
6 G1 A: s" J3 a 命令:/Config L3 M) G+ Z7 w6 x9 h* h* l+ \' x
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。3 o$ k4 Q' D. d9 N6 R3 o, Z
9 w t, \, i: q' T
用法:9 p4 G$ S9 |: C$ E& [1 y( i4 g
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value! ]: P* ?/ }# k
参数7 P V# I0 ?' L O2 ]5 V
ServerName :服务器名称,意义同上 + X, c7 U) e; k& |- ^4 F
ZoneName:
2 u1 M6 k: G. i) j0 ^ 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
6 R* A3 t8 f: e* e+ x Property:
# {8 s& m/ m# I2 b7 g; R 这个参数是属性。这里所说的属性有:
& z" h& H) m3 z" w" R. q: _ 与服务器有关的属性:例如:
, Q4 U. H: i0 H/ L7 k/EnableRegistryBoot0 n) R0 K$ R, \( ]
/RpcProtocol/ X9 u5 `% p" _/ J
/LogLevel3 @# y' Q* k8 h4 r
/EventlogLevel 等等 (限于篇幅未能全部列出)4 s3 c* |/ ^7 H
与Zone 有关的属性,例如:
9 i6 z& r- W8 x* Q /SecureSecondaries
2 k: j7 t1 y- x: z# H /AllowUpdate
8 q4 _+ r2 |% M+ k K0 c9 M/ A4 O /Aging
* A& `$ t" s) N1 c /RefreshInterval Value2 z' p" c5 ]! g& d' z
/NoRefreshInterval Value* V; |! j6 y- Q2 A0 X
属性值:
2 w, a. y* t# |7 ^, l 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
- h7 F( k+ ]1 l" K+ ?* Y; t6 `从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。! L' D3 f! A. B' v6 R G) ~- O
命令: /Statistics
$ g9 z" ~+ G' t4 `* i 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
& G" e8 a- N) z0 i. ]- w7 A7 d 用法:5 s2 o: W4 p0 P3 |% l8 q
dnscmd ServerName /Statistics [Filter|/Clear]8 U7 L5 t2 n H$ g0 J0 Q& }
参数:
- s! P7 O5 t. q: GServerName
: L1 F! m1 i7 k5 q- I- a服务器名称,含义同上。2 ?! o$ L( b. R3 ]/ z
可选参数介绍:" N/ Y, J* p( U1 b4 a/ P6 t' c
共有两个参数,每次只能使用其中的一个。: R# t1 `& ~! y, Z* A! ^5 N% Q
1.过滤(Filter)0 y; ^0 Z. Z7 Y" F
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。# f8 [& o5 Q/ l9 c, A
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
5 e A3 P+ y! T J$ Q 00000001 -- Time
% f6 w7 K3 l9 [) b: H: ~ 00000002 -- Query# O, C" u/ B: ~2 N; [1 O* ^
00000004 -- Query2
+ x' L9 c0 ]" ~" d" o 00000008 -- Recurse0 R. _& ~" w# Y' j f" U
00000010 -- Master# k( E6 N: f! P8 V6 j: ]7 p
00000020 -- Secondary
/ E* n; D$ D' s6 H" z 00000040 -- Wins' V# o. e1 p+ H: {
00000100 -- Update
8 n0 r4 s8 `% @ 00000200 -- SkwanSec' S5 u/ @# R# S- ^; z( x
00000400 -- Ds/ V! p' b8 A4 F$ j* p6 W/ B. J
00010000 -- Memory; C# y" O) F1 j# a% l
00100000 -- PacketMem9 r2 \1 K8 {/ x! p, ^: J; J3 O- }
00040000 -- Dbase& _3 ~6 V7 D- r( D0 }
00080000 -- Records
) f% r8 {1 `* A! X5 B2 U 00200000 -- NbstatMem5 y- f% S8 R8 j$ j6 k% ^- A2 C% d
2.清除 /Clear # k, t" S& q& ^+ E0 T
这个参数用来清除统计信息。# M, t$ C- u g1 e
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
1 Q/ w% h5 B% N# [4 T2 r: w
( P- O: e2 C ] g5 T) ]/ C0 q
+ ~0 F+ s f$ G) k
+ ~$ K: i; e1 H" }" m% ` |