“找不到网络路径”的解决方法及排错步骤

症状:
通过 \\ip或\\<计算机名>访问任何计算机时都会出现“找不到网络路径”的错误提示,无法正常访问网络资源,但可以访问外部网页。
最终解决方法:
运行 netsh interface ip reset c:\log.txt命令重置tcp/ip各组件到初始状态,重启电脑后解决问题。
问题解决步骤:
1、检查物理连接:因症状描述访问外部网页时没问题,所以此步可略过。
2、 Ping 127.0.0.1 回环地址正常,说明tcp/ip 协议的安装(基本状态)没问题。
3、  ping 对方计算机名和ip 地址都正常(其中有用大数据包来ping ),没有丢包,说明计算机的基本连接(包括网卡本身和计算机之间的连接)和网络名称解析没问题。物理层到网络层都是没问题的,应用层协议出现了问题。
4、  检查网络设置:检查在TCP/IP 协议上是否捆绑了NETBIOS (在TCP/IP 协议属性— 高级—WINS— 选择启用TCP/IP 上的NETBIOS );检查是否已经安装“Microsoft 的文件和打印服务” 组件,其它计算机也都必须启用“ 文件和打印共享” ,并检查是否安装了Microsoft 网络客户端。此项检查正常。
5、检查是否启动了“ computer browser”的计算机浏览器服务, WIN2K/XP 要确保计算机浏览服务正常启动,保证其能参与网络浏览选举和主机宣告。打开计算机管理-> 服务和应用程序-> 服务,查看“Computer Browser” 没有被停止或禁用。此项检查正常。
6、 使用没有带域的网络,windows xp 的计算机必须启用guest 来宾账号,因为未加入域的windows xp 默认将来访计算机的账号等同于来宾账号,经过检查,其它被访问计算机的guest 账号虽然是禁用的,但启用后故障依旧。
相关的策略设置说明:
1)   依次选择“ 计算机配置→Windows 设置→ 安全设置→ 本地策略→ 安全选项 → 网络访问:本地账号的共享和安全模式” 策略,将默认设置“ 仅来宾— 本地用户以来宾身份验证” 更改为“ 经典:本地用户以自己的身份验证” 。此项策略可以让访问计算机的用户通过网络访问使用Windows XP 的计算机时,可以用自己的“ 身份” 进行登录。Windows xp 的默认设置为仅来宾,而windows 2003 和加入域的windows xp 默认设置为经典。
2)  在启用“ 经典:本地用户以自己的身份验证” 方式后,可以对同时访问共享文件的用户数量进行限制,并能针对不同用户设置不同的访问权限。但是用户的口令为空时,访问还是会被拒绝。这时需检查“ 安全选项”→“ 账户:使用空白密码的本地账户只允许进行控制台登录” 策略是否被启用,默认是启用的,根据拒绝优先的原则,密码为空的用户通过网络访问使用Windows XP 的计算机时便会被禁止。
7、 检查计算机是否允许来宾账号访问:逐一查看所有计算机的本地安全策略设置是否允许Guest( 来宾) 帐号从网络上访问本地计算机。在本地安全策略管理器gpedit.msc ,依次选择“计算机配置“→ “Windows 设置”→ “本地策略”→ “用户权利指派”→ ““ 拒绝从网络访问这台计算机” ,查看策略里是否有包含有GUEST 帐号, 如果有则删除。
8、 确保被访问机器的内置防火墙没有打开: 打开本地连接属性-> 高级,关掉Internet 连接防火墙。如果使用了第三方的防火墙,参考其相关的使用手册,确保防火墙没有禁用UDP-137 、UDP-138 、TCP-139 和TCP-445 。此项检查后,所有计算机均未打开防火墙服务。
9、  检查RPC 、Plug and Play 服务是否已经启动,重新注册以下的动态链接库:
regsvr32 netshell.dll
regsvr32 netcfgx.dll
regsvr32 netman.dll
经检查RPC 和Plug and play 服务都均已启动,并成功重新注册了以上的动态链接库。
10、 最后的可能就是系统Tcp/ip 组件损坏或缺失,在windows 98/2k 的计算机可以直接卸载再重新安装此协议,而在windows xp/2003 ,由于Tcp/ip 是系统的核心组件,不能直接卸载,只能重置,复位Tcp/ip 及相关的组件到干净的状态。在命令行窗口输入netsh interface ip reset c:\log.txt (其中,log.txt 是是指定命令生成的状态日志文件名,可任意)。重新启动后,故障解决。
总结:
经过这么多的查错步骤,最后也就一条命令搞定,但是正确的排错步骤必不可少。netsh 还有其它一些重要功能,以下列举几个netsh 命令的一些常用子功能及使用方法,其它更详细用法请查看windows 帮助和支持。
1、 为网络接口指定IP 地址和网关
下面的命令将配置名为 Local Area Connection 的接口,其静态 IP 地址为 192.168.0.2,子网掩码为 255.255.255.0,默认网关为 192.168.0.1:
C:\>netsh interface ip
Netsh interface ip> set address name="Local Area Connection" source=static addr=192.168.0.2 mask=255.255.255.0 gateway=192.168.0.1
2 重置winsock 目录为空白状态
C:\>netsh winsock reset
3 、为网络接口指定dns
下面的命令将配置名为 Local Area Connection 的接口,其dns地址为192.168.0.3:
C:\>netsh interface ip
Netsh interface ip>set dns name= “Local Area Connection”source=static addr=192.168.0.3 ddns=enabled suffix=interface
4 、复位Tcp/ip 及相关的组件到干净的状态
C:\>netsh interface ip reset c:\log.txt
复位Tcp/ip并将命令执行日志输出到c:\log.txt。
本文出自 “ 英年早瘦的IT博客” 博客,请务必保留此出处 http://donhuang.blog.51cto.com/268978/50109