本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
. i( j0 J. ? N4 J5 w5 |' j 命令: /Info & J1 E+ ~* Q6 C( @9 I
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。1 l2 R$ Q( [% ~2 H/ X
用法:( ?- ~; z+ J5 s9 q/ n
dnscmd ServerName /Info [Property]
4 D2 W/ B9 f5 q# J 参数:2 E1 e! k. h0 A4 f9 V/ y0 [
ServerName 0 o3 ]# E* H' {7 {& N$ ]/ \' d- z
服务器名称在上一篇中已经介绍过,此处省略。 ! s, _4 b" q( r6 G1 \
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
2 [: L/ o0 B) ~% O 下面是该命令使用的一个比较完整的例子:
" X8 M( Q0 u: r' q+ t8 j 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
" b5 ~3 ?* X. Bdnscmd 172.16.12.1 /info 只使用命令而不使用参数
8 W, T1 A7 y; Y' u, r( m+ ^0 r T输出的信息:
7 Y7 T. j' x! xDNS Server 172.16.12.1 Information:
6 ~4 J. g" q( q) }C:\>dnscmd 172.16.12.1 /info
; t/ X, E4 T) y) xQuery result: 查询结果
6 r- D+ a- {5 M- I/ GServer info: 服务器信息3 y/ _( {+ l( v
ptr = 00074718 端口
* ^6 `' I8 k+ m# E- r% t7 g5 M& \4 K9 s server name = myserver.microsoft.com 服务器名称6 l# J. P! W) y4 S$ d# A B% V- x) j
version = C2000005 版本, t' Q. u/ W# T# G7 ]
DS container = c DS“容器”" b4 w6 s, h3 W6 [8 L
Configuration: 配置信息 这些信息的含义请参考有关资料
0 }( j' F/ K( y7 i1 z, ` dwLogLevel = 00000000
7 |: U, x1 _. S# Q, o$ w3 I dwDebugLevel = 00000000
9 u6 y' X1 ]7 `& b9 k% T# N1 d; J! \ dwRpcProtocol = FFFFFFFF2 v$ I. p w. F1 f
dwNameCheckFlag = 00000002
, r; e! u d# s" ~8 {& z cAddressAnswerLimit = 04 M% v4 ]7 f, f7 `; u
dwRecursionRetry = 3" y+ Y5 y- t r+ B
dwRecursionTimeout = 153 `& y! `! N3 _7 d& K8 Q
dwDsPollingInterval = 300
$ j6 _8 ]# { o3 l1 P Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
; F( {3 o! d! IfBootMethod = 3 : h, h. J# [8 a3 t' I3 }% v
fAdminConfigured = 1 8 K) f9 i% G7 t) R/ |" q# j
fAllowUpdate = 1
* U9 ^$ S; A* GfDsAvailable = 1 + q, ~- `3 W2 j, \' `6 | y f
fAutoReverseZones = 1 5 S* C3 {1 ] b' H- n& ^
fAutoCacheUpdate = 0
* N8 v z- G: |- c9 ]) I3 C1 ofSlave = 0 ( h( T5 l) d% V8 A- I
fNoRecursion = 0
0 M! f" {/ @3 L1 XfRoundRobin = 1 8 [% M6 l3 K$ b( \! R
fLocalNetPriority = 1
6 F! }; v, e- ?' z; ?9 FfStrictFileParsing = 0 ! P; |; J( S5 E' b
fLooseWildcarding = 0
& a8 m* j* ^% k$ I2 ffBindSecondaries = 1 " _0 Q. @3 a& N# q
fWriteAuthorityNs = 0 1 A" X- E9 o; F' D& `
Aging Configuration: 4 v+ T% ~: J0 t |" N
ScavengingInterval = 0 ' w4 N' T2 M: r/ H
DefaultAgingState = 0
1 ^" J2 a1 R0 J: h# F9 y' MDefaultRefreshInterval = 168
7 N: Z! V+ j2 w* JDefaultNoRefreshInterval = 168 . i- J4 ?+ T1 L" C3 e( S7 T" d; o
ServerAddresses: ( u' c2 ?2 ~0 {" \) c
Addr Count = 1
9 x# r% `% d* y. h Addr[0] => 172.16.12.15 ?6 F6 |) Y2 U8 L) c: W
ListenAddresses:& Q! m5 r2 _3 g) F
NULL IP Array./ f* y0 w; R' N9 s+ h
Forwarders:
( m8 {' l3 Q6 T7 D2 U Addr Count = 11 b( G& K6 x4 S& e" Z+ v: @
Addr[0] => 172.16.4.3
( j+ c2 b8 |+ g forward timeout = 5$ H9 Z7 Z/ s5 F) q! U
slave = 04 R2 j0 L- x! r
Command completed successfully.命令顺利执行完毕
5 {3 v! P0 i0 Q4 Y$ L 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 4 G, ?- k7 O- ]6 Q. I8 N( u# J9 H
命令:/Config9 L7 A4 Y7 C; F$ ]
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。& H) Z+ B" v3 _8 v i! F, z4 l1 y
: s! G( K2 g" w- l 用法:3 E) l) b; I, b: e3 W1 X; J1 N
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
: x& u+ F+ h, _, F3 Q8 Y7 c 参数" g+ S Y6 q2 G# L
ServerName :服务器名称,意义同上
, n2 v: R9 z( B7 P/ y+ K! @ ZoneName:% ?6 \6 |* v j
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 ) d9 O7 S- r: i3 |0 l. |
Property:
4 v1 t. e' ]( Q( o, J' M 这个参数是属性。这里所说的属性有:
9 g! ^! N( s4 f) ? 与服务器有关的属性:例如:! S, o. y9 x$ d: `) e# k5 W. l
/EnableRegistryBoot
# O) R) a( p" j, L/RpcProtocol8 L) {6 Y o' B0 R8 [3 w
/LogLevel
- @. D( W+ `2 v" o5 [3 Z- j/EventlogLevel 等等 (限于篇幅未能全部列出)* }" Z( O' h* M) M$ N2 I+ P
与Zone 有关的属性,例如:
+ v, U6 L6 H, I /SecureSecondaries
d# V d* I' a2 o0 G$ i /AllowUpdate
* `" T* Z+ Q0 Y8 L( z6 } /Aging8 F: \; A7 h; P/ X6 F2 `% f
/RefreshInterval Value7 T3 a- X& @7 j- m
/NoRefreshInterval Value' m" v3 S/ t- T4 l
属性值:# V: Z1 n+ i) j4 f' O3 M" \
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
( T+ |3 x' R( D$ w5 j从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
1 x3 c z+ m K% @$ {: d+ A k3 U/ M 命令: /Statistics5 r5 ^3 {( y9 N
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
& R p6 a" ^. `% j0 S 用法:; j' K" T9 C m6 D3 l
dnscmd ServerName /Statistics [Filter|/Clear]% F- [6 O2 G# ?7 H' D6 W
参数:
% {/ r# D5 j# H* TServerName
% w1 I# U8 i) s; q6 I$ s服务器名称,含义同上。
- n0 N3 G9 _7 f+ P* D' W( s1 m可选参数介绍:% K% g r$ _0 z
共有两个参数,每次只能使用其中的一个。0 t. J( N+ L# f' i
1.过滤(Filter)
6 T/ X+ v/ U! ^$ L* q* e: Q0 \ 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。4 L2 K( g z% s, {. S% r! M
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
6 ~& {/ a- L( S( A7 _# }# O& | 00000001 -- Time
" A+ O* F, b6 ?5 i 00000002 -- Query
' V. q2 T' f; X6 q4 y 00000004 -- Query23 z1 j+ E3 B) U) o
00000008 -- Recurse% |3 T h" }% A! n. F
00000010 -- Master$ c" G8 }7 M, m; ]( L; W2 B5 I
00000020 -- Secondary
% S" d0 B7 I( Q 00000040 -- Wins0 |" s; _, o) K$ W0 \9 V# B; J3 U
00000100 -- Update
2 T% P. d4 f. k. ]. N; x 00000200 -- SkwanSec
' [# ~5 e( o8 f3 C2 t7 B) V, D 00000400 -- Ds1 o# |, j4 Y6 t h, ~
00010000 -- Memory0 F Y+ N3 G1 a8 y& g1 x8 G
00100000 -- PacketMem
! V: w: Z7 e( X& e8 n 00040000 -- Dbase
" S. I6 X. s' r 00080000 -- Records1 O% M! _6 T+ M |2 F
00200000 -- NbstatMem @, A) @( _+ d: B8 a8 p
2.清除 /Clear 6 I$ ^& u7 ]; w- X" [/ p
这个参数用来清除统计信息。
: f2 S7 U6 S5 ?8 ^ D3 ~ 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。7 s& ]4 q# K2 F3 |2 l
* B( T/ o: a2 D9 L3 b
8 z d" s7 F5 q1 R) r- m Q* Y
" r- F2 B1 f+ w+ x$ L; y |