本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
, A: o; D! `% h* ~ 命令: /Info 1 [* B" F* K6 {, r- |9 u: k# @' J
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。4 q9 c0 O1 L% N% ~/ `( w
用法:
7 J/ ~' Q/ _9 |. U$ y3 I# ]. e9 }/ c1 h dnscmd ServerName /Info [Property] / p& d0 t: O% a" P/ n" N
参数:2 s0 O3 ?( n* M6 v
ServerName 4 ^( F% @& f/ o) Y8 L& ^2 @
服务器名称在上一篇中已经介绍过,此处省略。 # h6 g! r0 }- l( x0 ^
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。& C. F0 c5 p! j7 e; g9 [ D
下面是该命令使用的一个比较完整的例子:
( \/ |1 w8 q" m' ]+ M) J% d9 J 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
' Q/ N: {& E# s* F0 H' l) Q/ v( ^dnscmd 172.16.12.1 /info 只使用命令而不使用参数/ w. d5 O; p6 t! x2 ]
输出的信息:3 ^. `0 @# w7 z
DNS Server 172.16.12.1 Information:
7 v# k: A/ }! {4 H2 L- D" iC:\>dnscmd 172.16.12.1 /info: E" K1 F' {; |9 u4 L7 ?5 V* l
Query result: 查询结果* `. j& V! h2 K5 z8 b
Server info: 服务器信息
; h: R3 t* S- b) B) Q1 a ptr = 00074718 端口
9 D6 u# B% @. D server name = myserver.microsoft.com 服务器名称
3 N" |9 s) \7 ~5 m6 @+ l$ y version = C2000005 版本' }& s5 K+ d }2 B! A
DS container = c DS“容器”: R, t9 O! W" y' G0 y& \
Configuration: 配置信息 这些信息的含义请参考有关资料+ k' N; t+ w6 |) N4 u. ?
dwLogLevel = 000000002 n. k; `( x5 X. _$ C. Q6 S
dwDebugLevel = 000000005 T, T9 e G+ q+ h }! Q$ m* K# U
dwRpcProtocol = FFFFFFFF
" d: P& ^7 f8 s/ D- h2 x7 |$ P dwNameCheckFlag = 00000002& \# R9 h3 I, f9 S
cAddressAnswerLimit = 0
# B3 {6 R4 S- Z7 L$ i dwRecursionRetry = 3
8 T' D& M, K7 t* ~; ~1 { dwRecursionTimeout = 15
" N3 v% ?4 ~3 C3 } W+ b8 f dwDsPollingInterval = 300
) L4 v1 w' q8 y) m6 G* V6 S% A4 V [ Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料: M+ ~; h6 E: ^- J) r3 p* m
fBootMethod = 3 1 a7 {6 d# o" x8 @
fAdminConfigured = 1 ; S# k# L+ h% M+ S; L
fAllowUpdate = 1 ' X( Q; l0 d* l8 y
fDsAvailable = 1
+ E0 f& _4 |1 N, l( s1 T1 Y: C: IfAutoReverseZones = 1
% u' m! u& J) ?% `9 u1 i/ bfAutoCacheUpdate = 0
# V+ N4 [8 x; t$ F& WfSlave = 0
' a) f) o* `" h1 |fNoRecursion = 0 - F1 I& b- Q- s2 a
fRoundRobin = 1 , D! d9 Z Q+ Y
fLocalNetPriority = 1 " V$ w0 I# h( {) j- x" l
fStrictFileParsing = 0
( B" k X4 c. X. O$ t. j! ?" dfLooseWildcarding = 0 ' P, o# y: Q% s1 C$ T" t3 ^% S
fBindSecondaries = 1
% k% O) P0 {8 m+ k& t( rfWriteAuthorityNs = 0
* `4 ]- b9 y9 Y' @$ F* QAging Configuration: ' |( [7 Z4 m# z H
ScavengingInterval = 0
' ~ }, a; z8 R1 w* R2 BDefaultAgingState = 0
3 R2 |: Z5 V6 A' x! J2 h/ D# G fDefaultRefreshInterval = 168
1 G# m9 a' i7 x F' lDefaultNoRefreshInterval = 168 7 @+ |% n) h9 Z6 H
ServerAddresses: % k- j5 u; r; a+ V: K, A
Addr Count = 1
: |6 A& X# U3 }2 N& g Addr[0] => 172.16.12.1. P' q/ {5 G$ m- S4 v; F
ListenAddresses:
% a1 H c! Z6 a, @3 c NULL IP Array.+ i6 h4 T7 g$ O
Forwarders:
; J0 d9 \. v( \1 j Addr Count = 1: `- p3 r/ a7 C! e# e" s5 t4 {
Addr[0] => 172.16.4.3& Z3 r* ]) h" }5 W, g7 p: V
forward timeout = 5
& ]* T+ ~" @) n' f2 `; Z+ _3 H$ E slave = 0
$ [0 P" N7 U) v, C0 G) XCommand completed successfully.命令顺利执行完毕 # C- J4 I/ h0 J( u9 Z+ L
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 + ~- @ G& [9 x, N A. Y
命令:/Config* K+ D+ D0 Y. l
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
$ i: B' e$ d( s+ z- E1 ]/ B& y6 C' ^5 ^$ ~4 {9 |9 H! D
用法:+ y r" Q1 \# s. F# Q* i, }
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value+ V/ X6 F+ o U# W0 h4 _
参数
3 ?% y) r5 ^' x0 K2 ] ServerName :服务器名称,意义同上 6 K4 C! r$ W: L$ f) h4 L/ w
ZoneName:/ h" k+ X# | Q+ t, W5 t
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
1 ~% g- i% }2 n8 _. d- g+ k* ? Property: . k* a8 `2 a" K3 w
这个参数是属性。这里所说的属性有:
+ n' J8 O4 T6 H/ N 与服务器有关的属性:例如:: V: C8 {8 w7 Q" s
/EnableRegistryBoot* u8 h6 E" x! {( ~( G
/RpcProtocol+ P: V1 X; j% l4 ^3 Y7 q L9 Q6 j
/LogLevel- H6 ~: g8 z8 w% m
/EventlogLevel 等等 (限于篇幅未能全部列出)
5 N$ R g/ q2 k3 c9 p与Zone 有关的属性,例如:2 [& Y+ @) P7 G) |9 z
/SecureSecondaries! O5 t6 I" A) v" E- C& }
/AllowUpdate
5 p9 z$ j+ ?+ S/ K& `$ b6 _/ l8 G /Aging& ^ O8 _2 l X# j% l/ ~
/RefreshInterval Value
; z# C+ h1 a- ]) g! P8 K/ O /NoRefreshInterval Value
3 l) J; X1 X% I8 p+ Q 属性值:
; A; X2 @2 P5 A% p' ^ q% `5 r 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。( H B" R6 B' c
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。! Y: _8 @4 n$ p7 M3 @
命令: /Statistics* R6 U% W" E" I& l) C6 W
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。+ J' |( O) t7 t, ?
用法:
9 j( L, T$ V5 a' c C7 F dnscmd ServerName /Statistics [Filter|/Clear]6 m/ H7 q% J j# D7 R1 y, R
参数:
' m2 d+ D2 a3 T4 _& c% xServerName 2 t. z/ B! N$ a3 ?
服务器名称,含义同上。; i& y) s* g" z) U Y! I
可选参数介绍:
* {. c8 p9 ]4 l共有两个参数,每次只能使用其中的一个。+ x5 S' ^5 E; n9 D2 N
1.过滤(Filter)
/ q3 f. l. P6 t! I( F 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
z B- A. _9 e: l8 j可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
J& m$ y1 e2 o* P& [ 00000001 -- Time% z6 A E: u4 S( D8 Y4 R
00000002 -- Query+ t; B( e% {# K
00000004 -- Query2$ Z" W, L9 W! N& ]; Y, ]# W
00000008 -- Recurse
! ?, B. l9 s5 y2 x: X1 I. \ 00000010 -- Master6 I7 G+ J) x( Q( ]$ T) r% E0 L% s
00000020 -- Secondary, h" E' \$ a5 N0 S
00000040 -- Wins
+ f5 f5 a* |2 E; ` 00000100 -- Update
: ^9 ?3 `2 s2 T 00000200 -- SkwanSec
' L% i1 ]. k% o$ p9 ^$ C 00000400 -- Ds% U8 H7 v7 y2 }
00010000 -- Memory# o9 Y& O6 u8 U+ C$ J! g& `
00100000 -- PacketMem, j) M; b% l, ^2 D
00040000 -- Dbase$ x E' D- w3 c5 f. }$ N2 b- Z
00080000 -- Records
" a: b% k( u5 S+ t, r K" }* W 00200000 -- NbstatMem
2 Q- T) J$ U( n5 O/ [ 2.清除 /Clear , c" q7 Y4 b+ F5 |3 M$ y6 V
这个参数用来清除统计信息。
1 K% F) U1 ^( ]2 T+ t) V# m 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。! T' Q* j L/ I+ }2 |9 a
* u* \. U5 A: ^+ L3 \' ?2 o
( N4 X, y) S: \, x. D# B
5 k9 b O- I! ~/ J/ i4 ]3 Q |