本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
s+ C( M' y' J 命令: /Info 9 A, y# H# e1 k# \/ O5 ~
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。1 M: v o9 g6 [% G" N/ K3 L
用法:2 i8 L9 C: o1 W
dnscmd ServerName /Info [Property] : B5 V1 M1 F8 F3 h9 r! ~1 X" @
参数:
% U4 C6 K$ c! `+ y3 n# | ServerName + D4 r$ m6 |: O
服务器名称在上一篇中已经介绍过,此处省略。 ; q' ], m: {/ v0 U$ P
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
& t& @( \" G% j" l 下面是该命令使用的一个比较完整的例子:# ]5 U# W) \8 v4 T) K. ~
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
4 o* {1 N3 D; T2 N8 g* Cdnscmd 172.16.12.1 /info 只使用命令而不使用参数' d0 y# L5 h1 i+ K0 I
输出的信息:
" y' h* o" w. ~8 ]( _3 l+ `3 Y7 mDNS Server 172.16.12.1 Information:/ c& @6 E' T9 F0 U3 v
C:\>dnscmd 172.16.12.1 /info
. B5 `; O) p$ c$ z- lQuery result: 查询结果0 c; H9 [* M% q. Q7 \) n
Server info: 服务器信息: d; M9 @# f4 k
ptr = 00074718 端口$ b! f) B7 P5 c, d) }( o
server name = myserver.microsoft.com 服务器名称
, L: }5 W2 z: C4 i7 \* b2 W: E0 h# q+ m version = C2000005 版本
/ J/ b8 \2 L- _+ ?3 k2 O DS container = c DS“容器”- [9 l4 j5 |4 x4 N& y
Configuration: 配置信息 这些信息的含义请参考有关资料
; w( |3 z% H' [9 P% ] dwLogLevel = 00000000# _; d% r% [" B8 t0 S# A3 o
dwDebugLevel = 00000000. M& Y1 K, l9 x
dwRpcProtocol = FFFFFFFF
. \ E- l! o I4 K# { dwNameCheckFlag = 00000002, }9 s- m$ W1 A0 R$ o$ U0 i0 i8 y
cAddressAnswerLimit = 0* l; _0 y; z5 I; U& ~
dwRecursionRetry = 3
n0 {' T, N5 P% O6 q, Z- | dwRecursionTimeout = 15
% j( U7 e; p1 s, R( s dwDsPollingInterval = 300
7 ^& j/ J1 g' a$ x# a% a Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料7 U9 B C: K; \( j5 o
fBootMethod = 3
; q: T" \3 s1 j% X( K( n+ ]2 o& UfAdminConfigured = 1 ; D# u; J8 a1 H" Y; u# B- Q! R# X
fAllowUpdate = 1
1 Y% p" n/ V# S0 y6 ?1 gfDsAvailable = 1
9 G- n: R! ^# k/ t. L* J( GfAutoReverseZones = 1
9 K N7 m; C( x$ Y. }# [fAutoCacheUpdate = 0
- B' z$ ~/ F1 @5 o4 {! O. _fSlave = 0
8 `7 u; o3 j6 n8 z4 x% ]fNoRecursion = 0 8 B5 h3 a; B: x
fRoundRobin = 1
7 E# S# }1 B8 dfLocalNetPriority = 1
; o$ ^' `7 O4 kfStrictFileParsing = 0
8 V3 \( J' r. L0 efLooseWildcarding = 0 3 Q! x1 w7 w' p2 j: [4 t
fBindSecondaries = 1 5 l6 _* N5 m: a. \1 @5 e
fWriteAuthorityNs = 0 " r, k, w2 ]7 |- u5 [
Aging Configuration: * K1 F# z4 s, u. J* B
ScavengingInterval = 0 " J( s6 w! d% Q' _% S8 u
DefaultAgingState = 0
% z! G9 a& j- ~- G( H: L) EDefaultRefreshInterval = 168 7 y/ b% e! m* j4 |3 ], T" w) U5 e# a
DefaultNoRefreshInterval = 168
/ n; N4 B+ c# B5 g. D, [# d4 C ServerAddresses:
$ J! y3 w; f! B Z, ^ Addr Count = 1
4 r# o' P5 @; ~1 } Addr[0] => 172.16.12.1
7 ^! Z+ {7 r4 r2 \/ n& k p ListenAddresses:% z, z9 n8 y; @! h# ~
NULL IP Array.9 g8 U3 Y7 n3 _+ x, B+ t1 `; e
Forwarders:
I. F$ y" {, }4 w9 n% C) x. G9 I Addr Count = 1! N) E2 o4 k3 v9 z. I9 q
Addr[0] => 172.16.4.31 w0 O6 t3 F8 T G+ U$ m
forward timeout = 5
: b" _) j9 ~7 A" `2 } slave = 0
; h) C' w, C/ U6 OCommand completed successfully.命令顺利执行完毕 7 i' j9 u9 k9 K% V) }# y
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
2 d+ Q0 z. B- F; m( V" c 命令:/Config6 l: u7 i/ J+ ]( _% I8 k- }7 G1 T
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。; g7 R, a1 r; \$ g# D3 o7 m& X
& U! u9 `5 N7 a+ l/ z% j1 c/ B
用法:
, q4 {% W0 U) }5 m dnscmd ServerName /Config [ZoneName |..AllZones] Property Value% V5 c' w8 o, a: U9 |( d
参数, P0 z2 a0 k- b4 a
ServerName :服务器名称,意义同上 I: G" {' @! \! n5 v; i
ZoneName:
' a' W9 _; G" r+ ~3 W 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 # v- _; Z# w0 x
Property: - Q* f' H, m4 L; x! j2 P/ k+ M5 J
这个参数是属性。这里所说的属性有:
% |' H4 w9 ?# p# _. D0 S3 S 与服务器有关的属性:例如:3 e0 b. o2 z7 c' O
/EnableRegistryBoot
7 U/ y: e" E5 v! I/RpcProtocol
3 V1 D; {7 P( `! ^9 T; x7 a0 a/LogLevel' ]- j# R' ]$ p! ?: z/ H
/EventlogLevel 等等 (限于篇幅未能全部列出)
# t- L2 P8 x/ z' f. F8 R与Zone 有关的属性,例如:
0 I" ]/ g& K3 \+ V( @0 B% q /SecureSecondaries
# k' D4 }. Q3 R( m4 \( i /AllowUpdate
4 E# D z4 M3 {' g /Aging8 Q4 O J# {- A% D
/RefreshInterval Value
! d" Q% X' e, j( S. | /NoRefreshInterval Value3 b) a: q. V4 ` V1 H; C
属性值:7 U, l6 T! J) z6 f4 W. E
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
E# P- R+ {: A3 Q从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
' ~! k4 T" \, x2 i! w& r* h( n 命令: /Statistics& j5 X _4 M: c# o4 c
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。$ y3 [; W" W/ l! z2 C$ t
用法:- U/ W8 h# X, v
dnscmd ServerName /Statistics [Filter|/Clear]- H; J, U, ^* X) k! K
参数:! E3 J; L& X/ V4 y% `# [# i
ServerName ' Y' h5 |( k7 t) }
服务器名称,含义同上。
# k- D, r! _# W0 {7 V2 C可选参数介绍:7 v. d8 G1 M7 h* F
共有两个参数,每次只能使用其中的一个。6 q5 e. j- h! L
1.过滤(Filter)+ c% U+ J [/ A! `) N) l) i; k
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
# H( p, e* A5 ?$ X% s" Q可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 2 A! m$ B9 N) S- {! h
00000001 -- Time
- ~( G- x; O4 ?5 D% d9 W% ~ 00000002 -- Query
% j7 U6 j; c- j+ r5 e 00000004 -- Query23 H: i. B- k: t! Y6 B7 p
00000008 -- Recurse
) B1 \+ b* {7 A+ \3 D; b. d! ^ 00000010 -- Master' n4 y; i8 b4 C3 z2 q
00000020 -- Secondary2 P) B9 i3 o. g/ v
00000040 -- Wins& w9 @3 w7 P% b9 r
00000100 -- Update+ `: k# U8 u6 k- L, A: V+ w" n& n
00000200 -- SkwanSec: m7 I( G. Z6 f- T/ F- C' S& C
00000400 -- Ds
# I/ O* ?9 C6 B, U 00010000 -- Memory+ X& Q3 `$ l7 y9 h
00100000 -- PacketMem
7 P' Y$ t; B( M3 U% U4 c$ d 00040000 -- Dbase
$ S! c8 ?/ ? _+ z& r K1 S) @4 X5 V 00080000 -- Records. j$ F4 Q9 {; U. n8 Z( K
00200000 -- NbstatMem- h2 m U0 A! ~2 b1 k
2.清除 /Clear
8 N8 d. G8 X1 l. Y( {% Z& c 这个参数用来清除统计信息。/ K; e# `) V9 G
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
, O* c" S! I4 p8 ?) W! o0 X0 L0 y! X: V1 G' s Y$ \
; ^ @" Z. u$ W+ n. W* c
4 c" s* C$ {, ~# B+ B+ ^ |