微软提供了两个专门用来监视和检测浏览服务的工具: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就可以了,如图四。

图四
㈠对于所有拥有一个以上适配器和IP地址的机器,把HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices BrowserParametersMaintainServerList注册子键设置成No,使得该机器不会获得任何浏览器角色(包括主浏览器、后备浏览器)。
㈡确定每一个网段中的哪些机器是主浏览器。在每一个网段中,选取一到二台服务器,把它的HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesBrowserParametersIsDomainMaster注册子键设置成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 x1B" #PRE
192.168.0.1 DC1 #PRE #DOM:MYDOMAIN
第一行内容显式地配置了domain_name<1Bh> NetBIOS名称解析方式。注意,域名(包含从第16个字符开始的十六进制值,中间用空格补足位数)必须用引号包围。第二行表示DC1是MYDOMAIN的DC,并要求生成一个MYDOMAIN<1Ch>的组纪录。准备好LMHOSTS文件后,执行nbtstat -R装入LMHOSTS文件,执行nbtstat -r显示验证修改结果。
三、排除故障
是否能够成功地浏览网络资源,依赖于一系列Windows基本网络子系统是否能够正确协作,因此也不存在放之四海而皆准的故障解决方案,具体的解决步骤应当根据症状表现确定,而且往往还依赖于对网络结构有一个正确、全面的了解。
尽管无法给出通用的解决方案,但我们可以讨论一种典型的情形:客户机的浏览列表中缺少一台或者多台计算机,或者缺少某个广播域的所有计算机。在排除故障过程中,一种行之有效的办法是按照系统的处理过程,逐步检查,直至找到故障点所在。所以,检查过程应当从丢失的计算机所在的广播域开始,最后到客户机广播域上的不完整浏览列表。
下面的检查过程假定已经对丢失的计算机进行了最基本的检查,包括它是否正在运行,网络连接是否有效。这个过程可以找出那个地方出了问题,确定了故障点之后就可以确定哪些项目必须进一步检查。在排除浏览故障的过程中,应注意故障的原因可能是名称解析失败,可能是由于一台或者多台计算机的HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParametersHidden注册子键设置成了1,可能是由于网段的主浏览器无法接收到成员机器的通告,还可能是由于主浏览器和丢失的机器没有运行共同的传输协议。
从某种意义上来说,排除Computer Browser系统的故障是一种对综合技能的测验,需要对Windows网络子系统的全面理解。然而,只要经常实践,深入了解Windows网络的运行机制,再加上适当的工具,要诊断和排除Computer Browser故障应该不是什么难事。