Windows的Computer Browser服务维护着一个网络资源的清单,其中包括基于Windows的域、工作组和计算机,还有其他支持NetBIOS协议的网络设备,“网上邻居”显示的内容正是来源于此。在基于Windows 2000的网络中,活动目录(Active Directory,AD)取代了Computer Browser服务。但是,如果网络由Win2K和Win NT混合构成,且包含非Win2K的域控制器,或者网络上某些客户端不支持AD,Computer Browser服务仍是必不可少的。
在运行Computer Browser的环境中,IP网络的域的主浏览器与网段的主浏览器交互,借助NetBIOS名称解析和几个特殊的NetBIOS名称,装配出成员机器和设备的列表。要顺利解决Computer Browser服务运行中出现的问题,就必须掌握必要的工具,熟悉应当采用怎样的步骤来检测故障。
一、诊断工具
微软提供了两个专门用来监视和检测浏览服务的工具:Browser Monitor(即browmon.exe),和Browser Status(browstat.exe)。应当注意的是,在多协议网络中,这两个工具都只报告本地机器支持的协议的浏览列表。
Browmon是一个GUI工具,Win NT 4.0和Win 2K的资源工具包都提供了这个工具。Browmon针对每一个要求监视的域,显示出各个协议的浏览子系统的状态,如图一所示。双击一种协议显示出图二的详细信息,包括主、后备浏览器的名称和每一个浏览器上域、服务器的清单。

图一
图二
Browmon能够按照用户指定的间隔自动刷新浏览列表,利用Browmon可以快速找出域的主浏览器和后备浏览器。
Browstat比Browmon还要强大,除了显示浏览列表之外,它还能够强制执行选举和复位主浏览器。NT 4.0资源工具包提供了Browstat的一个早期版本,Win 2K资源工具包提供了Browstat的一个升级版本。两个版本的故障检测能力基本相同,但Win 2K的版本用起来方便一些。NT 4.0提供的Browstat要求在每一个命令中提供协议名称。协议名称可以通过Net Config Rdr命令获得。例如,假设在一台Win 2K Pro机器上执行Net Config Rdr命令的结果如图三所示,如果要用NT 4.0版本的Browstat显示出后备浏览器清单,应当执行:browstat gb NetBT_Tcpip_{4C8BA126-9BF4-476D-8BDB-3BB8548347B3}。(其中Gb即为Getblist,它是Browstat的一个子命令,用来提取后备浏览器的清单)。

图三:
Win2K版的Browstat有一个Dumpnet子命令,能够显示出协议名称并分别赋予一位数字的协议编号,所有Browstat其他子命令中的协议名称都可以用这个协议编号替代。例如,假设Browstat dumpnet命令赋予上述协议的编号是1,则提取后备浏览器清单时,只需执行Browstat gb 1就可以了,如图四。

图四
二、配置要点
为了减少Computer Browser服务运行中可能出现的问题,建议按照如下规则进行配置。
㈠对于所有拥有一个以上适配器和IP地址的机器,把HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services Browser\Parameters\MaintainServerList注册子键设置成No,使得该机器不会获得任何浏览器角色(包括主浏览器、后备浏览器)。
㈡确定每一个网段中的哪些机器是主浏览器。在每一个网段中,选取一到二台服务器,把它的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Browser\Parameters\IsDomainMaster注册子键设置成True。如果网段只有一台服务器,选取一到二台工作站作为浏览器,以防服务器关机。注意浏览器选举的决策过程:只有当网段中不存在服务器时,才会根据IsDomainMaster=True让工作站赢得浏览器选举。
㈢确保每一个网段的主浏览器能够找到域的主浏览器——即,能够解析domain_name<1Bh> NetBIOS名称。网段主浏览器可以通过WINS系统或AD找到域的主浏览器。如果既没有WINS也没有AD,则应当为网段中每一个潜在的浏览器配置LMHOSTS文件。
假设域的NetBIOS名称是MYDOMAIN,PDC的NetBIOS名称是DC1,IP地址是192.168.0.1,LMHOSTS文件的内容如下所示:
192.168.0.1 "MYDOMAIN \0x1B" #PRE
192.168.0.1 DC1 #PRE #DOM:MYDOMAIN