本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。) `, R' B7 v3 r8 Z9 F( P
命令: /Info ) j. q$ B" k+ `6 r; R4 b% K. W6 y
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
* N2 A* q* Q* D' U$ @ 用法:( J( D) V Y# G
dnscmd ServerName /Info [Property]
" T% j c; B) R0 k3 r, w; r5 S 参数:
! x, q( S7 v2 a- a2 }+ G) ] ServerName # \ l# v3 C f1 t3 P7 E2 b K, R" u
服务器名称在上一篇中已经介绍过,此处省略。
- `5 G' m! a; M4 C [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。3 @" F. a3 z% h
下面是该命令使用的一个比较完整的例子:
/ T- ]! f& T7 ~/ n1 v 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:# w% Y* o; t- a+ h! }: ?
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
; t& J4 x$ J0 A4 N# l4 s$ `输出的信息:' S) R+ N1 H6 S
DNS Server 172.16.12.1 Information:
/ n2 X P. c2 P( S6 a. ~4 qC:\>dnscmd 172.16.12.1 /info
% D6 w, c$ n" h+ O+ o) wQuery result: 查询结果
" s% t$ e6 q7 ^. `. N p6 @& b2 wServer info: 服务器信息, S" F8 |3 F1 J' Z% [% t: E
ptr = 00074718 端口
) \4 e+ y6 c5 A' ^5 h, u0 g; | Q server name = myserver.microsoft.com 服务器名称
3 B" ~: o+ _1 t) g- `3 l version = C2000005 版本
/ P ?2 D& u8 {1 g DS container = c DS“容器”
b, l1 J7 ~& B8 N$ ? Configuration: 配置信息 这些信息的含义请参考有关资料" A/ D8 B5 d4 ~9 a9 g0 ]
dwLogLevel = 00000000* E2 S4 p6 ?0 N0 S) ?
dwDebugLevel = 000000006 `6 l: B- i4 q Q9 H
dwRpcProtocol = FFFFFFFF
: F/ k* ~3 V+ y; C8 F) B, W dwNameCheckFlag = 00000002
4 |% U" o4 [2 {$ ^/ U2 X cAddressAnswerLimit = 0# k w# }! u0 \8 _6 O
dwRecursionRetry = 3
9 _3 Y+ a1 C/ u1 a dwRecursionTimeout = 15
# e2 K# ]5 r1 e _* ^ dwDsPollingInterval = 300' p* M% c6 l, F8 ^3 R9 s8 B
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
* ?7 k- J" r1 v+ p7 T# JfBootMethod = 3 " j6 b' W) G0 J$ s3 T. y
fAdminConfigured = 1 " O: F9 G: ~* r+ C4 G5 S
fAllowUpdate = 1 5 B- a: b* i; u
fDsAvailable = 1 % I9 _# R4 g( H7 [8 V" g- N* N
fAutoReverseZones = 1 ! _+ S9 |: \3 H" B* T# V# [
fAutoCacheUpdate = 0
# U1 d* @2 P; M3 GfSlave = 0
8 |, g4 k* T4 j& l1 {; _fNoRecursion = 0
3 t( m0 k% R" o% I. `2 a, |' V% }fRoundRobin = 1
# @" F$ X$ a- {* l6 o: O {, p$ ?fLocalNetPriority = 1
- p0 l+ ~2 @$ n* DfStrictFileParsing = 0 # N0 g+ T1 o: A9 X9 Y7 X v) t* @
fLooseWildcarding = 0
- r7 i/ z7 i. i8 k* a. p$ PfBindSecondaries = 1
9 K- l1 N0 W( ^fWriteAuthorityNs = 0
; C; f* p3 |; ~6 A4 }Aging Configuration: / ]0 K4 y! Q4 t0 z3 H
ScavengingInterval = 0 3 B2 x0 r4 @& ^2 d* U
DefaultAgingState = 0
* L! J2 `% J* ]0 A8 ^& nDefaultRefreshInterval = 168 0 H4 W) ?" _; P; q* ~
DefaultNoRefreshInterval = 168
% z" T$ S6 s- y0 a ServerAddresses: $ g8 d! b, U& N5 w, u0 k
Addr Count = 1
: ]$ c+ z- [$ F$ O6 _ Addr[0] => 172.16.12.1
* c4 W) {% V# l. Y1 X ListenAddresses:
) Z' z2 J- }8 Q! S0 k, ?% i& ` NULL IP Array.& _8 c1 Y& n1 o m6 u/ ^3 C
Forwarders:
* O8 s$ r5 ?- z8 ~* \5 F- h. U- w Addr Count = 1
9 x& s y! Z1 D) j8 U0 U Addr[0] => 172.16.4.3' d, ^) n% j+ T" \: O# h" Q
forward timeout = 5
/ e4 {% \& L( Q/ ^4 G slave = 0+ M o8 D$ b# I
Command completed successfully.命令顺利执行完毕 [- A" M" |9 m9 M* ]) }+ x
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
! c* i1 w, a& V- b, w- L 命令:/Config i9 n: B& I1 J6 K7 b7 N0 @
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。' _, k2 j! V5 V2 A" s+ R
* A6 M7 e- i* g 用法:
- z- [; b7 Z, l5 x dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
7 x& l1 P% Z4 \5 d) ? 参数2 Z( j$ r/ N1 q7 {, i% }
ServerName :服务器名称,意义同上
1 j' ~* l6 ~& l9 O& R9 w) ~ ZoneName:' |( Z; _0 @4 L; r8 i/ M W
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 & e3 d3 P+ w* T w
Property:
+ o; [9 Y3 j! C3 L! L% V 这个参数是属性。这里所说的属性有:
! _5 S; T9 P! c6 _/ y! C8 h. Y 与服务器有关的属性:例如:
; H3 D2 i* l+ v0 q/ ^/EnableRegistryBoot
( m( r- y6 \% U: h; n/RpcProtocol, J$ [" X# |/ i8 Y* g' s2 u
/LogLevel
5 P: b G' x8 e3 n! A S' C) w/EventlogLevel 等等 (限于篇幅未能全部列出)3 }, V. {% V" _7 S4 P
与Zone 有关的属性,例如:" C- z: S) _4 n0 F
/SecureSecondaries
3 Z7 y N. c; h3 w- H' D /AllowUpdate
& W$ g& j, B+ i7 { /Aging5 l. T5 X/ O2 T
/RefreshInterval Value% Z9 o" V: Y9 N8 P* R
/NoRefreshInterval Value& ]$ ?7 h7 _, `. x, ~' m& P) N2 F
属性值:! P5 C( B' u# P4 I" `& [1 y
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
8 N1 k/ q4 N9 h从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
( \ D5 L3 a. r7 e" W 命令: /Statistics5 q: c1 \5 N7 n$ ?, D
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
- A! C3 T; {" T l M' s 用法:
: o n7 E( C2 o0 Y; x1 g' ^ dnscmd ServerName /Statistics [Filter|/Clear] ~5 Z f0 p$ I/ K8 e
参数:1 N6 m; @' H" ?% @# [$ M v8 r; q0 w5 M
ServerName / m8 N# ~: g& v3 `: Q
服务器名称,含义同上。5 b, o# Y2 W. {( |" Y2 \, j4 t1 `
可选参数介绍:
X! `% X5 M" R7 n5 g9 I共有两个参数,每次只能使用其中的一个。
) G& ^. t; x; O, m 1.过滤(Filter)
5 U& v' G& ?3 R 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。+ g: d, J1 d4 k# L( x
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
* l1 C8 R; n5 z4 o 00000001 -- Time
/ w, X0 q" d' O) B, K: q 00000002 -- Query
6 E( @1 x& q5 `, c8 y 00000004 -- Query2+ i4 o0 N" T4 d4 P: Q* `
00000008 -- Recurse$ p; ~# Z( ^) z2 g |
00000010 -- Master
3 }5 P, V4 U1 |$ n 00000020 -- Secondary
8 G0 C* @3 }8 c, U 00000040 -- Wins
8 f9 O) M/ F/ X/ p 00000100 -- Update- Q; [6 O: g/ q% {& }
00000200 -- SkwanSec6 N2 B2 \, R3 c# `
00000400 -- Ds
8 o1 k, M! J0 A9 m) f 00010000 -- Memory6 S2 f s4 D6 i6 K i7 z8 o
00100000 -- PacketMem
+ j n: g$ E' i8 K 00040000 -- Dbase
6 T1 m3 t, ~4 S" I9 x1 p 00080000 -- Records
" J4 X- Y/ Z, ?8 \$ F4 ~) C/ ` 00200000 -- NbstatMem
- F* t# ?* Z& a% k( x2 y; v 2.清除 /Clear
( U, ~ u# b( K. X: _. { 这个参数用来清除统计信息。1 {& E3 S) U4 ]. x
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
' \) r+ [7 R- Y6 {- |: Q
# B( s u' j$ q/ `' p
. c) {) H$ D8 A" c# B
, \0 h1 M; G( d2 Q# }1 @) T7 K |