本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
; f) `9 g5 w/ i 命令: /Info
6 `( c3 u0 w$ T" ^5 h 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
# L3 \! H8 ` r0 j5 I- W. Z0 B 用法:- {! n: W/ h* x) p: j; @) O5 H
dnscmd ServerName /Info [Property]
5 T$ t- V0 n- g1 W+ V 参数:
; _! l0 Z: j0 K6 w) ` ServerName - m& c- [7 U* W* C
服务器名称在上一篇中已经介绍过,此处省略。
1 b) [% Z. a T0 S: v6 i y4 A4 ` [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
* a5 e/ {, a2 R* a 下面是该命令使用的一个比较完整的例子:- \9 ]6 {: \4 z2 F* s9 P" z5 j! a
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:) D! W, C, j* N" \7 S
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
R! g: Q5 j( n+ r8 Z% } R输出的信息:
/ r1 Z8 X% B# m. N! u. `1 K# H; vDNS Server 172.16.12.1 Information:0 ?- ^1 ` s* d) L
C:\>dnscmd 172.16.12.1 /info
0 V* T4 Y. D* U( h0 ~. WQuery result: 查询结果
' m& ~) s; C6 N8 V! `Server info: 服务器信息
$ ~* Z' q% ~2 r' P* R7 ] ptr = 00074718 端口9 W# y7 B4 e/ `
server name = myserver.microsoft.com 服务器名称
6 i$ k+ j$ k1 i version = C2000005 版本
- U( w4 H b: F6 h DS container = c DS“容器”2 \4 K7 e4 K8 C, @
Configuration: 配置信息 这些信息的含义请参考有关资料; A/ y. ]" i. Y; J& e( \
dwLogLevel = 000000001 D+ W6 P- {2 T
dwDebugLevel = 00000000
0 v+ [7 m5 n$ S2 m6 J9 {0 |+ m dwRpcProtocol = FFFFFFFF* P9 Z2 W5 a$ |; O" @
dwNameCheckFlag = 00000002
J3 \( B* }5 ~# `( i. E cAddressAnswerLimit = 0
) Q. j8 v3 m* i2 ~% I3 B' L dwRecursionRetry = 3# C7 D% c. I( X0 R. R
dwRecursionTimeout = 150 o a1 q! a" R+ c/ d" o
dwDsPollingInterval = 300 x' j; ?# c1 E( A+ `: p2 H* T
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
4 R. S0 x4 b1 [fBootMethod = 3
# r* J# J/ I1 r, K5 u& R; [ SfAdminConfigured = 1
4 ]2 u( v+ g" R" Z, TfAllowUpdate = 1
- y: V2 V! d/ o. E- h4 SfDsAvailable = 1 * J# u3 N5 W z
fAutoReverseZones = 1 5 _4 C7 B& ?$ U c% D
fAutoCacheUpdate = 0
6 p8 c8 S- S" C9 n! u. k) H+ ]fSlave = 0 % Z9 k- T- |9 {& l/ C# F5 E
fNoRecursion = 0
3 l7 q, \! [7 R7 yfRoundRobin = 1 ( i, S6 V6 n3 a6 s% z, Z
fLocalNetPriority = 1
: U' {% Q7 J2 K2 JfStrictFileParsing = 0
3 t8 I$ ]6 @8 c$ R9 Q1 r" FfLooseWildcarding = 0 6 I( A' R8 {# ?2 M3 U7 y, k \ Y
fBindSecondaries = 1 5 N& D* D7 Q5 i1 U
fWriteAuthorityNs = 0 ( Z1 O+ P; D+ E' A# v: B, l; r
Aging Configuration:
$ e; q" d2 K; gScavengingInterval = 0
; ~; [8 P2 A6 `3 l" ?: P& GDefaultAgingState = 0
# l# d. a3 A$ C$ K0 rDefaultRefreshInterval = 168
Z" E2 J5 f7 l& i+ E6 ~DefaultNoRefreshInterval = 168 8 h* P. U( x: z( F
ServerAddresses: & D3 D- ~0 x8 ~( {9 c6 l- R' _& m5 J7 g
Addr Count = 1
) I# [* |) b+ K) c Addr[0] => 172.16.12.1& t; a) f$ y3 k( J, q- d1 V
ListenAddresses:$ X0 C ~, b3 R8 f) ?; L! ^) M
NULL IP Array.
, S6 X0 {1 _/ r0 P7 X' H9 D6 }( y Forwarders:
2 H4 W1 O" @+ H0 _; H- @8 j( p Addr Count = 1 ]' c% |) q5 C. h
Addr[0] => 172.16.4.3
( ^6 k& X: D" J+ X! {" A& q3 f forward timeout = 59 I$ \ V1 k, U! v
slave = 06 V4 L# c3 s7 r
Command completed successfully.命令顺利执行完毕 " p$ M% p5 M, P! _8 [& k
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 + \: a$ d0 g; M8 g
命令:/Config$ B( G: X/ g! Y% V# r+ t# N
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
$ m. B5 a7 Z& r2 n/ q B% [0 Y' X/ ]. {# \2 D+ V& n% J
用法:5 Y$ T8 Z) ?! z8 E# c; R+ U# |
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value6 j- y l3 U* o3 ?- y" j
参数
/ q0 I' P& h& U+ V' D ServerName :服务器名称,意义同上
% ^# z! L4 o& n4 H* f! x ZoneName:3 m; E7 k& x+ i1 e" K/ u) Z
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 . ]5 O, ?* N; j; y% r9 g. |0 B# ]
Property:
7 l7 n* `6 N- t8 b+ b7 e. j 这个参数是属性。这里所说的属性有:1 I; O3 h0 D2 L
与服务器有关的属性:例如:
& K9 B) H% L( v$ D/EnableRegistryBoot
7 Q0 z& x o1 A2 m/RpcProtocol
) Q+ s3 `) t, A: V' Q' k/LogLevel) z; ~( K8 g. O* o0 E G
/EventlogLevel 等等 (限于篇幅未能全部列出)2 P, E5 d; C# i' F/ ]
与Zone 有关的属性,例如:
( Q2 j5 z; A( U /SecureSecondaries
0 v# Z; T: _* e$ e; U1 i# W% W /AllowUpdate* v( o. d* B& t# K* h6 i
/Aging6 N# _, D) H# A0 P8 [/ C; H1 u
/RefreshInterval Value
( ~* e; v% [# [3 i* J6 h; u$ S7 c /NoRefreshInterval Value! c- v( H; v& J6 @, q* w4 N
属性值:
% A: S" h( J( { 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
) r. b, s2 T- [# K6 H- r) g从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。. |1 W1 e U+ _+ Q; Q) j2 y6 n- V. u
命令: /Statistics
1 d) T! j+ l) ^5 F2 C 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
9 y* c7 _ \2 }' S9 P 用法:6 V9 S- \7 j3 Z2 o5 a
dnscmd ServerName /Statistics [Filter|/Clear]# v* ^' X: g: I: {1 N4 w
参数:
/ B; b! q x& PServerName
/ i, k. c% K8 k# h% A服务器名称,含义同上。
# v& a4 X& o0 g8 j: b可选参数介绍:
. y6 m0 h r7 O. j共有两个参数,每次只能使用其中的一个。% g) J3 ~" r3 Y( A+ R
1.过滤(Filter) ]" A3 @ ?( U$ M0 |* C
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
; _5 c7 |& \" l- N可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
5 I9 u# @/ D) t- V; y 00000001 -- Time* U+ Z W) o9 Q Q7 {! v5 ^
00000002 -- Query
7 H( \; ~. I$ I% f+ n9 Z: O 00000004 -- Query2
x; i' B- d7 n, a7 Z% D7 f) t 00000008 -- Recurse; ^7 u3 v% d @+ a" U3 P% Q
00000010 -- Master
) @8 W& k& [3 U 00000020 -- Secondary3 Y( y! k. L8 n3 `3 K" n! n' ^ k
00000040 -- Wins+ I6 M$ c, c2 q v2 Q: ]( R6 U
00000100 -- Update5 _) a1 A4 s3 `
00000200 -- SkwanSec6 v$ s! b3 l2 M; i6 X
00000400 -- Ds( [; W5 j9 l- B+ Q8 w
00010000 -- Memory% P# s) U. C6 ^$ L5 k, Z) E {/ h
00100000 -- PacketMem
; ~# a {! k. O% j% {; R 00040000 -- Dbase( r- j$ G N2 F3 x
00080000 -- Records
" d3 G9 v- |+ k6 H 00200000 -- NbstatMem
. t' O# f+ j' l+ k7 V2 x 2.清除 /Clear . e& f/ c+ p" B' V! J @
这个参数用来清除统计信息。
0 p$ A7 d2 F: m( [, K% u% d 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
; }! u* g( R) s' B. q6 c+ ~
& o" {9 ^* X+ L- {5 ~& m
2 m4 {1 p2 S' j; z. g z, C9 D0 G! U! n! x5 ?0 r
|