本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
; s7 m" J1 R) |: e5 E6 S 命令: /Info / F7 V8 k. k2 G1 q
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。' J+ ~0 h* l9 B) c% E9 b
用法:
+ K' _8 W& `1 f dnscmd ServerName /Info [Property] ' N! C0 U* _6 q1 r8 |7 i* L
参数:
7 x* y# [( W5 V& N8 H ServerName 8 H( l/ s# x* m& D3 A1 D' E6 Y5 n
服务器名称在上一篇中已经介绍过,此处省略。 / J+ t! c. R# f. C" `
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
5 C; M3 p% h& k- n" G 下面是该命令使用的一个比较完整的例子:: A/ P, y6 }0 \4 ?& J9 K" O* B
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
+ R% C+ o0 E/ G! Bdnscmd 172.16.12.1 /info 只使用命令而不使用参数3 v$ u# H1 p) N
输出的信息:' c# B* I# m5 Z* D% ^
DNS Server 172.16.12.1 Information:
" E- Y% @0 u# R4 \7 _C:\>dnscmd 172.16.12.1 /info3 C; e. J7 n' ]$ C
Query result: 查询结果- G* D% c" k: X2 z
Server info: 服务器信息
8 i* Z/ }% t' ~: C4 L: d; e ptr = 00074718 端口: I- c6 G, ~% R+ g$ W$ _
server name = myserver.microsoft.com 服务器名称
- j" W* v! Z8 S& j' {, s version = C2000005 版本0 \% E! w0 Z4 Q8 ^, G8 L
DS container = c DS“容器”2 d* v% y3 S s
Configuration: 配置信息 这些信息的含义请参考有关资料8 U- w+ x9 q) g% ^- i# v
dwLogLevel = 00000000, n7 W4 Z9 K$ d$ d3 n
dwDebugLevel = 00000000
2 e; _( R. h% Q dwRpcProtocol = FFFFFFFF
4 ]3 x- i1 f9 [' {1 t- E dwNameCheckFlag = 000000027 n6 }4 z @% ^0 _, x7 S" V4 H0 A
cAddressAnswerLimit = 0- k3 G- D! Z' _4 L
dwRecursionRetry = 3
" _# r- y' b8 R$ O6 ` dwRecursionTimeout = 156 K- `" r9 d* S/ F& h' C
dwDsPollingInterval = 3000 [1 `( _4 ~7 E! Z9 u6 j/ U
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
. ^1 r, | X; w, ZfBootMethod = 3
# C: S5 x1 b% XfAdminConfigured = 1 & R. @; W1 h. |2 L* a' P
fAllowUpdate = 1 6 O/ e* p: Q( ]6 g6 g' e
fDsAvailable = 1
- j: X6 V$ g1 ZfAutoReverseZones = 1
+ z( c0 u) n2 `% N `0 a4 tfAutoCacheUpdate = 0 8 ]- }+ q- E& \) e
fSlave = 0 0 F! Y, F1 N3 A, M
fNoRecursion = 0
9 z( g5 I% m& C& B2 }! LfRoundRobin = 1
+ z$ n& o8 `, _fLocalNetPriority = 1
0 J) |; j& J* f( l: b& c+ K% BfStrictFileParsing = 0
" f7 e' ]4 X! b! ~5 q2 ffLooseWildcarding = 0
8 A! {0 ]5 W: ~* J$ ^) X5 e! g" FfBindSecondaries = 1
/ ?2 j* e1 b: Y" B4 A/ ffWriteAuthorityNs = 0
# h3 _! s$ |7 h# K4 f4 pAging Configuration: & t9 d+ p( f7 e
ScavengingInterval = 0
. w) I7 J2 q8 j3 L$ ]DefaultAgingState = 0 7 D. F n v: N( b7 N0 P
DefaultRefreshInterval = 168
- Y; N2 @* p7 c9 T7 B+ F% g0 KDefaultNoRefreshInterval = 168
/ r5 s3 S/ _ d# f; s, z ServerAddresses: * }, h3 I8 o+ k* F& l
Addr Count = 1' V( V/ N9 Y7 Z. F* Q5 n% J- n' }
Addr[0] => 172.16.12.16 I- o, _. t, K G
ListenAddresses:
; p/ k' ?! l: g7 j- C, w5 { NULL IP Array.' a. B- S* f1 p A4 Z0 B" j* e
Forwarders:' x3 ?" r3 V* e! \8 ~" B; Q
Addr Count = 1: X0 p2 [5 p7 g. _) y0 D
Addr[0] => 172.16.4.3
& F% g7 y) q5 E& D+ c3 O9 G forward timeout = 5
, a: q. c4 T, I slave = 0" G/ S1 u2 j: k+ j
Command completed successfully.命令顺利执行完毕
8 c7 x" ~! F: U( q4 C9 b6 [ 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
' u! l$ k2 {! s 命令:/Config
6 @+ B2 s" d/ a3 o2 m& d3 W 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。3 ~$ g x% a* q
* `- j, z X+ T7 a% {( U 用法:
4 ?4 ]* o" Y9 h& g4 u8 `- \ dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
' R f% \8 D: c* L4 {5 A" N" d" U 参数
' R) u: |6 ^4 X% M; S5 G ServerName :服务器名称,意义同上
2 [3 W" \+ u8 y$ h ZoneName:$ Z; p, v. o o& h( _
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 3 I1 W4 z( e; M! Z8 u1 l) \
Property: - @& g5 ?1 F% n- T6 L% J9 Q
这个参数是属性。这里所说的属性有:' j, G4 q: N- M5 G9 ?$ z' F T
与服务器有关的属性:例如:1 U7 {- [- C; ~ }9 R
/EnableRegistryBoot$ H+ _* I3 Z. h" z5 `$ b& a# J" O
/RpcProtocol
3 N& [6 B! n6 ?2 b( ?+ X/LogLevel
, \8 v& C6 |4 N/EventlogLevel 等等 (限于篇幅未能全部列出)" D5 N$ S# l2 U [
与Zone 有关的属性,例如:
) `: Z* I% {) Y+ z B" H /SecureSecondaries% J x5 |2 n8 E9 h
/AllowUpdate
9 R' M) u1 k9 R4 r /Aging
8 a" z1 y0 i. W /RefreshInterval Value
# ~. r P+ l3 S* h1 w /NoRefreshInterval Value
) a2 d1 O6 j$ A2 S 属性值:
, f( F1 G0 H# I" b% M 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。1 J, n7 M" X6 ^, Y
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
7 M( q+ J1 v( R0 ?; A( l! L 命令: /Statistics2 V( A5 q, z) _9 }
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
& F3 t( \2 [2 w4 f5 o 用法: o; {4 a9 g$ G- _2 m7 m) Y1 z% |
dnscmd ServerName /Statistics [Filter|/Clear]! J1 x4 T! M# Q# R$ E* L; S
参数:
2 s* Q% J# l6 m; w& `ServerName 6 _8 f- p6 n4 W) v
服务器名称,含义同上。
, R+ y1 I# e2 q7 @6 z可选参数介绍:& c Z$ s1 i9 r1 W
共有两个参数,每次只能使用其中的一个。- t( m$ T4 o+ Y. M! m
1.过滤(Filter)8 {( h' K+ S: o/ H# u9 B
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
/ b7 @# p4 g4 S3 D+ v可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
% b+ A. p1 q. Y 00000001 -- Time
- G9 k1 G: W0 h 00000002 -- Query
# k8 S, N3 t2 e+ f2 J 00000004 -- Query22 r5 i& U6 ~+ O* o2 z4 `
00000008 -- Recurse/ k- p* i, `/ u
00000010 -- Master3 @! Q7 x) u) |4 k
00000020 -- Secondary
9 r C" U* O4 q( [: {) B, {, U! S 00000040 -- Wins
9 u* m' o7 n/ X+ K% O2 o 00000100 -- Update( [' w$ b- h% T+ n2 |
00000200 -- SkwanSec
* h( ` |6 |* R& \, a 00000400 -- Ds
0 u0 }# f* G) V+ O) S; x0 U 00010000 -- Memory& u2 q% t- W6 E; p
00100000 -- PacketMem# S$ y8 G+ W2 Q1 P
00040000 -- Dbase
% i% S0 q0 J' H) D! m ] 00080000 -- Records
# t' i3 I" E) B! Z7 f( F 00200000 -- NbstatMem
9 O, A, T1 c' |3 F 2.清除 /Clear + ^4 F7 H5 j: R2 w( P" }
这个参数用来清除统计信息。
( ~; ~% L0 @4 r9 {& S( L 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。" z4 \/ f$ R7 i# k1 b0 }4 P
7 L3 }2 |# W0 u* ?8 u# R 5 Y7 C0 h/ u- }& U" Y! D, r
7 g+ ~7 P9 C5 f/ O+ q/ f
|