Windows XP Home Edition网络访问的故障排错V1.1
经常有用户抱怨Windows XP Home Edition不好伺候,稍有招待不周,就会拉下脸面,动辄“登录失败”、抑或“拒绝访问”,而Home Edition又是一个“缺胳膊少腿”的系统,没有合适的工具可以对网络访问进行排错……本文将对Windows XP Home Edition的网络访问故障进行综合排错(假设计算机名为TestXPH,资源的共享名为Share)。
本文假设读者已经熟悉局域网访问的基本原理和排错的基本过程,如果您对此并不了解,则可以按照以下的地址收看由笔者提供的webcast:
http://www.microsoft.com/china/technet/webcasts/ondemand/episode.aspx?newsID=msft032205vx
一、网络访问特点
由于Home Edition不能禁用“简单文件共享”,所以客户端一律以Guest帐户的身份进行验证。客户端要访问TestXPH上的共享资源Share,除了设置好网络底层的协议和端口,还必须满足以下三个条件:
⑴ Guest帐户必须处于启用状态。
⑵ 验证用户Guest必须具有以下的登录权利分配:
拒绝从网络访问这台计算机 Guest帐户、Everyone组和Guests组,必须都没有该登录权利
从网络访问此计算机 Guest帐户、Everyone组和Guests组,只需其中一个具有该登录权利
⑶ 共享资源必须赋予合适的共享权限和NTFS权限。
但是由于Home Edition具有以下三个“先天缺陷”,无法方便判断以上三个条件是否满足:
⑴ 没有“本地用户和组”管理单元,不方便修改Guest帐户的启用状态。
⑵ 没有“组策略”管理单元,不方便修改登录权利的分配。
⑶ 在正常Windows环境下无法方便地修改共享资源的共享权限和NTFS权限。
二、推荐的网络配置模式
强烈推荐采用网络安装向导(运行netsetup),这可以自动配置Home Edition的Guest帐户启用状态、登录权利和Windows防火墙设置。如果采用以上方法还是无法奏效,则可以继续阅读以下部分进行排错。
三、“本地用户和组”的替代品──“net user”命令
如果访问TestXPH计算机上的Share共享时,弹出如下图所示的对话框(Guest帐户呈灰色显示状态),则说明TestXPH计算机上的Guest帐户被禁用。

可以借助“net user”命令查看和修改Guest帐户的启用状态。
1.查看Guest帐户的状态
打开的命令提示符窗口里运行以下命令:
net user Guest /find /i “帐户启用”
2.启用Guest帐户
在命令提示符下运行以下命令:
net user Guest /Active:Yes
四、组策略的替代品──ShowPriv和Ntrights命令工具
如果访问TestXPH计算机上的Share共享时,弹出如下图所示的对话框,提示“登录失败:未授予用户在此计算机上的请求登录类型”的错误信息,这说明Guest帐户的登录权利设置不正确。

可以借助ShowPriv和Ntrights这两个命令工具,它们采用字符常量来代表相应的登录权利,如下表所示。
|
显示名称 |
字符常量 |
|
拒绝从网络访问这台计算机 |
SeDenyNetworkLogonRight |
|
从网络访问此计算机 |
SeNetworkLogonRight |
1.查看Guest帐户的登录权利
可以用ShowPriv命令工具来查看登录权利。
⑴ 查看具有“拒绝从网络访问这台计算机”登录权利的帐户
在命令提示符下输入以下命令并回车:
ShowPriv SeDenyNetworkLogonRight
命令结果类似如下所示:
C:\>ShowPriv SeDenyNetworkLogonRight
2 account(s) with the SeDenyNetworkLogonRight user right:
TestXPH\Guest
TestXPH\SUPPORT_388945a0
All accounts enumerated
命令结果显示Guest帐户具有“拒绝从网络访问这台计算机”的登录权利。
⑵ 查看具有“从网络访问此计算机”登录权利的帐户。
在命令提示符下输入以下命令并回车:
ShowPriv SeNetworkLogonRight
命令结果类似如下所示:
C:\>ShowPriv SeNetworkLogonRight
2 account(s) with the SeNetworkLogonRight user right:
TestXPH\Users
TestXPH\Guest
All accounts enumerated
命令结果显示Guest帐户具有“从网络访问此计算机”的登录权利。
2.设置Guest帐户的登录权利
可以用Ntrights命令工具来修改Guest帐户的登录权利。
⑴ 给Guest帐户赋予“从网络访问此计算机”登录权利
在命令提示符下输入以下命令并回车:
Ntrights -u Guest +r SeNetworkLogonRight
⑵ 取消Guest帐户“拒绝从网络访问这台计算机”的登录权利
在命令提示符下输入以下命令并回车:
Ntrights -u Guest -r SeDenyNetworkLogonRight
提示 ShowPriv和Ntrights命令工具都属于Windows Resource Kit Tools,可以到以下微软官方网站下载Windows Resource Kit Tools:
http://download.microsoft.com/download/8/e/c/8ec3a7d8-05b4-440a-a71e-ca3ee25fe057/rktools.exe
五、修改共享资源的权限
如果访问TestXPH计算机上的Share共享文件夹时,弹出如下图所示的对话框,提示“拒绝访问”的错误信息,这说明共享文件夹Share的共享权限或者NTFS权限设置不正确。

由于Windows XP Home Edition无法在正常Windows环境下用图形界面查看和修改共享资源的共享权限和NTFS权限,这里可以采用以下步骤:
⑴ 重启计算机,然后按F8,在Windows高级选项菜单上选择“带网络连接的安全模式”。
⑵ 进入安全模式以后,鼠标右键单击共享文件夹Share,选择“共享和安全”菜单项。
⑶ 现在可以设置该共享文件夹的共享权限和NTFS权限。
六、令人困惑的问题
有时候会碰到让人困惑的问题,该问题具有以下两个特点:
⑴ 采用\\TestXPH形式访问Home Edition计算机时,收到“拒绝访问”的错误消息。而在TestXPH计算机上打开fsmgmt.msc,单击左侧的“会话”,可以看到客户机的当前登录用户已经成功打开会话。
⑵ 采用\\TestXPH\Share形式访问Home Edition计算机时,却能够正常访问。
造成这种问题的可能原因之一就是以下的注册表键值
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa下的DWORD键值restrictanonymous的数值数据设置为0x1(或者0x2)。
这将导致客户机无法枚举Home Edition计算机上的共享资源,但是如果知道共享资源的名称,则可以直接用\\TestXPH\ShareName的形式访问。
这个错误消息往往会误导用户以为是安全策略(登录权利)的问题。但是实际上如果是安全策略(登录权利)的问题,系统并不会提示“拒绝访问”,而是会提示“登录失败”!
解决方法:将键值restrictanonymous的数值数据设置为0,重启系统即可。