情况:win7 64位系统访问win7 32位系统 的默认共享,拒绝访问。win7 32位系统访问win7 64位系统的默认共享,输入用户名和密码后可以正常访问。
看了网上的文章,以为是64位和32位的问题,尝试了各种方法,更改组策略、关闭系统防火墙、关闭360等都不奏效。
查看服务器安全日志如下:
对其中
审核成功ID为4624的的登录日志详情:
已成功登录帐户。
主题:
安全 ID: NULL SID
帐户名: -
帐户域: -
登录 ID: 0x0
登录类型: 3
新登录:
安全 ID: zm-PC\admin
帐户名: admin
帐户域: zm-PC
登录 ID: 0xbee1cfd
登录 GUID: {00000000-0000-0000-0000-000000000000}
进程信息:
进程 ID: 0x0
进程名: -
网络信息:
工作站名: ZXH-PC
源网络地址: fe80::c985:d25c:e4b2:3cf5
源端口: 60556
详细身份验证信息:
登录进程: NtLmSsp
身份验证数据包: NTLM
传递服务: -
数据包名(仅限 NTLM): NTLM V2
**长度: 128
在创建登录会话后在被访问的计算机上生成此事件。
审核成功的ID为4634的注销日志详情:
已注销帐户。
主题:
安全 ID: zm-PC\admin
帐户名: admin
帐户域: zm-PC
登录 ID: 0xbee1cfd
登录类型: 3
在登录会话被破坏时生成此事件。可以使用登录 ID 值将它和一个登录事件准确关联起来。在同一台计算机上重新启动的区间中,登录 ID 是唯一的。
以为是IP6的问题,关闭后不见效果。
后来在网上看到了文章“无法访问Windows7默认共享的解决方法”(链接:https://blog.****.net/xht555/article/details/40682535?locationNum=14&fps=1)
才发现是win7 64 UAC(用户账户控制设置)的问题,就像上面文章里说的一样,我不愿意关闭UAC,也不愿开启guest,只能修改注册表了。
修改步骤:
1、打开注册表,定位到:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System下;
2、在右边面板处右击 “新建(N)”,选择“DWORD (32-bit)值”;
3、输入键名为“LocalAccountTokenFilterPolicy”;
4、双击修改键值为 1。
退出注册表,重新从客户端连接,成功。
至此,问题解决。对比了一下两台电脑,发现客户端(32位系统)是有这个键值,不知道为什么服务器(64位系统)没有
下面是查询了微软的帮助得到的,希望给看到的朋友有启发。
使用cmd命令添加:
cmd /c reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
上面是微软网页里面的,如果已经运行了CMD,可以去掉前面的“cmd /c ”。
查了一下微软关于这个键名“LocalAccountTokenFilterPolicy”的解释(https://support.microsoft.com/en-us/help/951016/description-of-user-account-control-and-remote-restrictions-in-windows),原来是为了防止回环攻击和恶意软件。而域用户是不在这个影响范围之内的。而解除限制的方法也在这篇文章中提到。