解决Windows10 1709不兼容共享的问题

在1709版本的windows10里,默认把SMBv1关闭了,并且禁止了匿名的访问。

这是因为之前比特币勒索病毒利用了SMBv1的漏洞,导致全球很多windows主机中招,尽管Windows10并没有这样的漏洞,但微软还是在新版本采取了关闭了SMBv1、禁止匿名共享的措施。

但这就造成了很多用户在访问局域网时遇到困扰,比如访问由低版本主机(比如Windows2003)共享出来的文件,就会提示:

因为文件共享不安全,所以你不能连接到文件共享。此共享需要过时的SMB1协议,而此协议是不安全的,可能会使你的系统遭受攻击。
你的系统需要SMB2或更高版本。关于如何解决此问题的信息,请参见。。

如果说你不需要用到低版本系统共享出来的文件和设备,那么遇到局域网的匿名共享的时候也会比较尴尬,很多时候一个局域网为了方便,会设置成来宾的模式去访问,访问文件或者打印机不需要输入密码,或者有的设备本身就是这样的,比如一些老式的网络打印机,当我们尝试去访问就会这样提示:

你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问。这些策略可帮助保护你的电脑免受网络上不安全设备或恶意设备的威胁。

而微软在其官方知识库提到这些情况:


在Windows 10 Fall Creators Update 和Windows Server,版本1709(RS3)中,默认情况下不再安装(SMBv1)网络协议。它在2007年开始被SMBv2和更高版本的协议所取代。 微软公司在2014年宣布弃用SMBv1协议。

SMBv1在Windows 10 Fall Creators Update和Windows Server,版本1709(RS3)中:
SMBv1现在具有可以单独卸载的客户端和服务器子功能。
Windows 10 Enterprise和Windows 10 Education在安装后,默认情况下不再包含SMBv1客户端或服务器。
默认情况下,Windows Server 2016不再包含SMBv1客户端或服务器。
默认安装后,Windows 10 Home和Windows 10 Professional不再包含SMBv1服务器。
默认情况下,Windows 10 Home和Windows 10 Professional仍然包含SMBv1客户端。如果SMBv1客户端总共使用了15天(不包括关闭计算机),它将自动卸载。
Windows 10 Home和Windows 10 Professional的升级和Insider最初不会自动删除SMB1。如果SMBv1客户端或服务器总共不使用15天(不包括计算机关闭的时间),则它们会自动卸载。
Windows 10 Enterprise和Windows 10 Education的升级和Insider不会自动删除SMB1。管理员必须决定在这些托管环境中卸载SMB1。
15天后自动清除SMB1是一次性的。如果管理员重新安装SMB1,则不会进一步尝试卸载它。
SMB 2.02,2.1,3.0,3.02和3.1.1功能仍然完全支持,默认情况下包含在SMBv2二进制文件中。
由于计算机浏览器服务依赖于SMBv1,如果卸载了SMBv1客户端或服务器,则会卸载该服务。这意味着Explorer网络不能再通过传统的NetBIOS数据报浏览方式显示Windows计算机。
SMBv1仍然可以重新安装在Windows 10和Windows Server 2016的所有版本中。


如果你尝试使用SMBv1,除了上述报错之外,还有可能有下面的报错:

指定网络位置不可用。
为指定的错误(0x800004005)
系统错误64/错误58.
指定的服务器无法执行请求的操作。

对于SMBV1这个问题,解决办法还是很简单的,微软已经在可选功能里面提供了SMBv1的开启和关闭:

打开此电脑,点击卸载或更改程序,滚到底部,点击下方的程序和功能:

然后在卸载程序的左方点击“启用或关闭Windows功能”,勾选“SMB1.0/CIFS文件共享支持”即可。(需要重启才能生效。)

另外微软也提供了PowerShell的方法,用管理员权限打开Powershell之后,可以参考下面的命令:

 

Windows 8.1 & Windows 10:

SMB v1
检测: Get-WindowsOptionalFeature –Online –FeatureName SMB1Protocol
禁用: Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
启用: Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
SMB v2/v3
检测:Get-SmbServerConfiguration | Select EnableSMB2Protocol
禁用:Set-SmbServerConfiguration –EnableSMB2Protocol $false
启用:Set-SmbServerConfiguration –EnableSMB2Protocol $true

更多关于Powershell命令的信息,可以参考这里。

而对于不能匿名共享的问题,微软没有在报错的时候直接给出解决方案,但经过搜索知识库,微软还是对这个情况做出了说明

在Windows 10 Fall Creators Update和Windows Server版本1709中,SMB2客户端不再允许执行以下操作:访客帐户访问远程服务器提供无效凭据后回到访客帐户

SMBv2在Windows 10 Fall Creators Update和Windows Server 2016版本1709中具有以下行为:默认情况下,Windows 10 Enterprise和Windows 10教育不再允许用户通过使用访客凭据连接到远程共享,即使远程服务器请求访客凭据。

Windows Server 2016数据中心和标准版不再允许用户通过使用访客凭据默认连接到远程共享,即使远程服务器请求访客凭据。Windows 10 Home和Professional版本与之前的默认行为不变。

而解决办法,微软给出了相关的组策略设置:

win+R 打开运行,输入gpedit.msc回车打开组策略设置,然后选择计算机管理-管理模板-网络-lanman工作站-启用不安全的来宾登录-已启用。

(点击图片放大)

另外也可以使用导入注册表的方法,经过分析组策略的文件(组策略文件位于C:\Windows\PolicyDefinitions),可以使用下面的代码保存为reg文件导入:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters]
“AllowInsecureGuestAuth”=dword:00000001


原文链接:https://03k.org/fix-1709smb.html

本站博文无特别声明均为原创,转载请注明原文链接。本站软件均搜集自互联网,供学习研究之用,请下载后24小时内删除。

疑问OR交流点我加QQ群喵喵喵!


发表评论

电子邮件地址不会被公开。 必填项已用*标注