Windows的Computer Browser服务维护着一个网络资源的清单其中包括基于Windows的域工作组和计算机还有其他支持NetBIOS协议的网络设备网上邻居显示的内容正是来源于此在基于Windows 的网络中活动目录(Active DirectoryAD)取代了Computer Browser服务但是如果网络由WinK和Win NT混合构成且包含非WinK的域控制器或者网络上某些客户端不支持ADComputer Browser服务仍是必不可少的 在运行Computer Browser的环境中IP网络的域的主浏览器与网段的主浏览器交互借助NetBIOS名称解析和几个特殊的NetBIOS名称装配出成员机器和设备的列表要顺利解决Computer Browser服务运行中出现的问题就必须掌握必要的工具熟悉应当采用怎样的步骤来检测故障 一诊断工具 微软提供了两个专门用来监视和检测浏览服务的工具Browser Monitor(即browmonexe)和Browser Status(browstatexe)应当注意的是在多协议网络中这两个工具都只报告本地机器支持的协议的浏览列表 Browmon是一个GUI工具Win NT 和Win K的资源工具包都提供了这个工具Browmon针对每一个要求监视的域显示出各个协议的浏览子系统的状态如图一所示双击一种协议显示出图二的详细信息包括主后备浏览器的名称和每一个浏览器上域服务器的清单 图一 图二 Browmon能够按照用户指定的间隔自动刷新浏览列表利用Browmon可以快速找出域的主浏览器和后备浏览器 Browstat比Browmon还要强大除了显示浏览列表之外它还能够强制执行选举和复位主浏览器NT 资源工具包提供了Browstat的一个早期版本Win K资源工具包提供了Browstat的一个升级版本两个版本的故障检测能力基本相同但Win K的版本用起来方便一些NT 提供的Browstat要求在每一个命令中提供协议名称协议名称可以通过Net Config Rdr命令获得例如假设在一台Win K Pro机器上执行Net Config Rdr命令的结果如图三所示如果要用NT 版本的Browstat显示出后备浏览器清单应当执行browstat gb NetBT_Tcpip_{CBABFDBDBBBB}(其中Gb即为Getblist它是Browstat的一个子命令用来提取后备浏览器的清单) 图三 WinK版的Browstat有一个Dumpnet子命令能够显示出协议名称并分别赋予一位数字的协议编号所有Browstat其他子命令中的协议名称都可以用这个协议编号替代例如假设Browstat dumpnet命令赋予上述协议的编号是则提取后备浏览器清单时只需执行Browstat gb 就可以了如图四 图四 二配置要点 为了减少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名称是MYDOMAINPDC的NetBIOS名称是DCIP地址是LMHOSTS文件的内容如下所示 MYDOMAIN \xB #PRE DC #PRE #DOM:MYDOMAIN 第一行内容显式地配置了domain_name<1Bh> NetBIOS名称解析方式注意域名(包含从第个字符开始的十六进制值中间用空格补足位数)必须用引号包围第二行表示DC是MYDOMAIN的DC并要求生成一个MYDOMAIN<1Ch>的组纪录准备好LMHOSTS文件后执行nbtstat R装入LMHOSTS文件执行nbtstat r显示验证修改结果 三排除故障 是否能够成功地浏览网络资源依赖于一系列Windows基本网络子系统是否能够正确协作因此也不存在放之四海而皆准的故障解决方案具体的解决步骤应当根据症状表现确定而且往往还依赖于对网络结构有一个正确全面的了解 尽管无法给出通用的解决方案但我们可以讨论一种典型的情形客户机的浏览列表中缺少一台或者多台计算机或者缺少某个广播域的所有计算机在排除故障过程中一种行之有效的办法是按照系统的处理过程逐步检查直至找到故障点所在所以检查过程应当从丢失的计算机所在的广播域开始最后到客户机广播域上的不完整浏览列表 下面的检查过程假定已经对丢失的计算机进行了最基本的检查包括它是否正在运行网络连接是否有效这个过程可以找出那个地方出了问题确定了故障点之后就可以确定哪些项目必须进一步检查在排除浏览故障的过程中应注意故障的原因可能是名称解析失败可能是由于一台或者多台计算机的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Hidden注册子键设置成了可能是由于网段的主浏览器无法接收到成员机器的通告还可能是由于主浏览器和丢失的机器没有运行共同的传输协议 检查操作最好在网段主浏览器所在广播域内的机器上进行避免路由或WINS服务器可能对检查过程产生的影响下面的检查步骤说明假定使用的是WinK版的Browstat协议编号域名MYDOMAINPDC的名称是DC网段主浏览器SERVER后备浏览器是BACKUP ⑴ 寻找丢失计算机的网段主浏览器执行browstat statusBrowstat显示出网段主后备浏览器的名称以及摘要的浏览列表Browstat把domain_name<1Dh> NetBIOS名称解析成网段主浏览器的地址网段主浏览器赢得选举之后它的Computer Browser服务把domain_name<1dh>名称注册到NetBIOS但不注册到WINS确保广播名称解析会把该名称解析成本地网段主浏览器的IP地址 如果Browstat不能找到网段主浏览器检查网段上是否至少有一台机器有作为浏览器的资格然后用下面的两种方法之一强制执行浏览器选举其一在丢失计算机的网段中停止并重新启动DC(或一台HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Browser\Parameters\IsDomainMaster注册键设置成True的机器)的Computer Browser服务其二执行browstat elect mydomain ⑵ 检查网段主浏览器浏览列表的完整性执行browstat view \\serverBrowstat将从命令行指定的服务器提取浏览列表浏览列表提供了每一个机器的服务代码MBR表示主浏览器PBR表示可能的浏览器BBR表示后备浏览器 如果浏览列表只包含本地网段的机器很可能网段主浏览器不能连接到域的主浏览器(即PDC)而这又可能是由于路由或其他网络连接问题或名称解析失败要确定网段的主浏览器是否能够获得PDC的名称可以在网段主浏览器所在的机器上执行browstat getpdc mydomain这个命令在指定传输端口上发出一个domain_name<1Bh>的NetBIOS名称解析请求如果请求成功它将返回PDC的名称 如果Browstat Getpdc命令不能返回PDC的名称首先必须解决名称解析问题处理这方面的问题已经超出了本文的范围但请参见关于WINS的详细说明ip/part/tcpchasp 为了提取对方的浏览列表域的主浏览器和网段主浏览器必须能够解析对方的computer_name<00h>名称为此可以从网段主浏览器映射一个驱动器到域的主浏览器验证两台机器能够解析对方的computer_name<00h>名称 如果本地网段主浏览器的列表缺少某台机器可以用一个Browstat子命令强制本地网段的所有机器宣告自身browstat forceannounce mydomain强制执行宣告之后一定要等待一段时间以便浏览列表传播到其他机器 ⑶ 检查域主浏览器的浏览列表的完整性执行browstat view \\dc(注意DC是域的主浏览器PDC的名称)如果丢失的机器在它本地的网段浏览器的列表中可见但在域主浏览器的列表中不可见则应当检查步骤的名称解析问题 ⑷ 确定客户网段的主浏览器检查其浏览列表如果域的主浏览器的浏览列表是完整的则问题在客户机广播域或者客户机与域主浏览器通信过程中按照步骤和的说明确定客户机所在网段的主浏览器检查其浏览列表如果客户网段主浏览器的浏览列表不完整按照步骤的说明检查名称解析问题如果列表完整问题可能在网段的后备浏览器 ⑸ 确定客户网段的后备浏览器检查它们的浏览列表由于客户机可以从网段内的任意浏览器获取其浏览列表后备浏览器如果存在问题也 |