如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3

摘要重要建议你不要禁用 SMBv2或 SMBv3。 仅将 SMBv2 或 SMBv3 作为临时故障排除度量值禁用。 不要让 SMBv2 或 SMBv3 处于禁用

大家好,如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3相信很多的网友都不是很明白,包括也是一样,不过没有关系,接下来就来为大家分享关于如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3和的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

建议您不要禁用SMBv2 或SMBv3。禁用SMBv2 或SMBv3 仅作为临时故障排除指标。不要禁用SMBv2 或SMBv3。

在Windows 7 和Windows Server 2008 R2 中,禁用SMBv2 将禁用以下功能:

在Windows 8、Windows 8.1、Windows 10、Windows Server 2012、Windows Server 2012 R2、Windows Server 2016 和Windows Server 2019 中,禁用SMBv3 将禁用以下功能(以及上一列表中所述的SMBv2 功能):

更多信息

SMBv2 协议是在Windows Vista 和Windows Server 2008 中引入的。

SMBv3 协议是在Windows 8 和Windows Server 2012 中引入的。

有关SMBv2 和SMBv3 功能的更多信息,请参阅以下文章:

如何在Windows 8.1、Windows 10、Windows 2012 R2、Windows Server 2016 和Windows Server 2019 中正常删除SMB v1

PowerShell 方法

SMB v1(客户端和服务器)

Windows Server 2012 R2、Windows Server 2016、Windows Server 2019:禁用SMB 的服务器管理器方法

中小企业v1

Windows 8.1 和Windows 10:PowerShell 方法

SMB v1 协议

SMB v2/v3 协议(仅禁用SMB v2/v3 服务器)

Windows 8.1 和Windows 10:添加或删除程序方法

如何在SMB 服务器上检测状态、启用和禁用SMB 协议

适用于Windows 8 和Windows Server 2012

Windows 8 和Windows Server 2012 引入了新的SMBServerConfiguration Windows PowerShell cmdlet。 Cmdlet 可用于启用或禁用服务器组件上的SMBv1、SMBv2 和SMBv3 协议。

评论

在Windows 8 或Windows Server 2012 中启用或禁用SMBv2 时,也会启用或禁用SMBv3。出现此行为的原因是这些协议共享相同的堆栈。

运行SMBServerConfiguration cmdlet 后无需重新启动计算机。

SMB 服务器上的SMB v1

有关详细信息,请参阅Microsoft 服务器存储。

Smb 服务器上的SMB v2/v3

适用于Windows 7、Windows Server 2008 R2、Windows Vista 和Windows Server 2008

要在运行Windows 7、Windows Server 2008 R2、Windows Vista 或Windows Server 2008 的SMB 服务器上启用或禁用SMB 协议,请使用Windows PowerShell 或注册表编辑器。

PowerShell 方法

评论

此方法需要PowerShell 2.0或更高版本的PowerShell。

SMB 服务器上的SMB v1

意识到的

获取项目HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}

默认配置=启用(不创建注册表项),因此不会返回SMB1 值

禁用

Set-ItemProperty -Path ‘HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters’ SMB1 -类型DWORD -值0 强制

使能够:

Set-ItemProperty -Path ‘HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters’ SMB1 -类型DWORD -值1 强制

请注意,进行这些更改后必须重新启动计算机。有关详细信息,请参阅Microsoft 服务器存储。

Smb 服务器上的SMB v2/v3

意识到的

获取ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}

禁用

Set-ItemProperty -Path ‘HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters’ SMB2 -类型DWORD -值0 强制

使能够:

Set-ItemProperty -Path ‘HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters’ SMB2 -类型DWORD -值1 强制

评论

进行这些更改后,必须重新启动计算机。

注册表编辑器

重要的

请仔细按照本节中的步骤进行操作。如果注册表修改不当,可能会出现严重问题。修改注册表之前,请先备份注册表,以便出现问题时可以恢复。

如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3

要在SMB 服务器上启用或禁用SMBv1,请配置以下注册表项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

注册表项: SMB1

REG_DWORD: 0=禁用

REG_DWORD: 1=启用

Default: 1=启用(不创建注册表项)

要在SMB 服务器上启用或禁用SMBv2,请配置以下注册表项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

注册表项: SMB2

REG_DWORD: 0=禁用

REG_DWORD: 1=启用

Default: 1=启用(不创建注册表项)

评论

进行这些更改后,必须重新启动计算机。

如何在SMB 客户端上检测状态、启用和禁用SMB 协议

对于Windows Vista、Windows Server 2008、Windows 7、Windows Server 2008 R2、Windows 8 和Windows Server 2012

评论

在Windows 8 或Windows Server 2012 中启用或禁用SMBv2 时,也会启用或禁用SMBv3。出现此行为的原因是这些协议共享相同的堆栈。

SMB v1(在SMB 客户端上)

有关详细信息,请参阅Microsoft 的服务器存储

Smb v2/在SMB 客户端上

评论

通过组策略禁用SMBv1 服务器

此过程会在注册表中配置以下新项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

要使用组策略进行配置,请按照下列步骤操作:

在“新建注册表属性”对话框中,选择以下内容:

这将禁用SMBv1 服务器组件。此组策略必须应用于域中所有必要的工作站、服务器和域控制器。

评论

WMI 过滤器还可以设置为排除不受支持的操作系统或选定的排除项,例如Windows XP。

重要的

当您在需要访问SYSVOL 或禁用SMB v1 的其他文件共享的域控制器上进行这些更改时,请务必小心。

通过组策略禁用SMBv1 客户端

要禁用SMBv1 客户端,您需要更新服务注册表项以禁用MRxSMB10 的启动,然后需要从LanmanWorkstation 条目中删除对MRxSMB10 的依赖关系,以便其无需先启动MRxSMB10 即可正常启动。

这将更新并替换注册表中以下2 个项的默认值:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mrxsmb10

注册表项:启动REG_DWORD:4=禁用

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation

注册表项:DependOnService REG_MULTI_SZ:“Bowser”、“MRxSmb20”、“NSI”

评论

默认情况下包含的MRxSMB10 已作为依赖项删除。

要使用组策略进行配置,请按照下列步骤操作:

概括

如果所有设置都位于同一组策略对象(GPO) 中,组策略管理将显示以下设置。

验证

评论

不要忘记重新启动目标系统。

请求组合- 允许将多个SMB 2 请求作为单个网络请求发送

更大的读写能力,更好地访问更快的网络

缓存文件夹和文件属性- 客户端保留文件夹和文件的本地副本

持久句柄- 如果临时断开连接,允许连接透明地重新连接到服务器

如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3

改进的消息签名- HMAC SHA-256 用散列算法替换MD5

文件共享的可扩展性改进- 大大增加了每台服务器的用户、共享和打开文件的数量

支持符号链接

客户端机会锁租用模式- 限制客户端和服务器之间传输的数据,提高高延迟网络的性能并提高SMB 服务器的可扩展性

大MTU 支持- 完全使用10 GB 以太网

提高能源效率- 向服务器打开文件的客户端可以进入睡眠状态

透明的故障转移- 客户端在维护或故障转移期间重新连接,而不会中断集群节点

横向扩展 并发访问所有文件集群节点上的共享数据

多通道- 如果客户端和服务器之间存在多条路径,则聚合网络带宽和容错能力

SMB Direct 添加RDMA 网络支持以实现极高的性能,并提供低延迟和低CPU 使用率

加密 提供端到端加密并防止窃听不受信任的网络

目录租赁- 通过缓存提高分支机构的应用程序响应时间

性能优化- 优化小型随机读/写I/O

意识到的

获取Windows 功能FS-SMB1

禁用

禁用-WindowsOptionalFeature -Online -FeatureName smb1protocol

使能够:

启用-WindowsOptionalFeature -Online -FeatureName smb1protocol

意识到的

获取WindowsOptionalFeature Online FeatureName SMB1Protocol

禁用

禁用-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

使能够:

启用-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

意识到的

获取SmbServerConfiguration |选择启用SMB2协议

禁用

设置SmbServerConfiguration EnableSMB2Protocol $false

使能够:

设置SmbServerConfiguration EnableSMB2Protocol $true

意识到的

获取SmbServerConfiguration |选择启用SMB1协议

禁用

设置SmbServerConfiguration -EnableSMB1Protocol $false

使能够:

设置SmbServerConfiguration -EnableSMB1Protocol $true

意识到的

获取SmbServerConfiguration |选择启用SMB2协议

禁用

设置SmbServerConfiguration -EnableSMB2Protocol $false

使能够:

设置SmbServerConfiguration -EnableSMB2Protocol $true

探测

sc.exe qclanmanworkstation

禁用

sc.exe 配置lanmanworkstation 依赖=Bowser/mrxsmb20/nsi

sc.exe 配置mrxsmb10 启动=禁用

使能够:

sc.exe 配置lanmanworkstation 依赖=Bowser/mrxsmb10/mrxsmb20/nsi

sc.exe 配置mrxsmb10 start=auto

如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3

意识到的

sc.exe qclanmanworkstation

禁用

sc.exe 配置lanmanworkstation 依赖=Bowser/mrxsmb10/nsi

sc.exe 配置mrxsmb20 启动=禁用

使能够:

sc.exe 配置lanmanworkstation 依赖=Bowser/mrxsmb10/mrxsmb20/nsi

sc.exe 配置mrxsmb20 start=auto

您必须从提升的命令提示符运行这些命令。

进行这些更改后,必须重新启动计算机。

注册表项:SMB1

REG_DWORD:0=禁用

打开组策略管理控制台。右键单击应包含新首选项的组策略对象(GPO),然后单击“编辑”。

在控制台树中的“计算机配置”下,展开“首选项”文件夹,然后展开“Windows 设置”文件夹。

右键单击“注册表”节点,指向“新建”,然后选择“注册表项”。

行动:创建

配置单元:HKEY_LOCAL_MACHINE

主要路径:SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

值名称:SMB1

值类型:REG_DWORD

数值数据:0

打开组策略管理控制台。右键单击应包含新首选项的组策略对象(GPO),然后单击“编辑”。

在控制台树中的“计算机配置”下,展开“首选项”文件夹,然后展开“Windows 设置”文件夹。

右键单击“注册表”节点,指向“新建”,然后选择“注册表项”。

在“新建注册表属性”对话框中,选择以下内容:

行动:更新

配置单元:HKEY_LOCAL_MACHINE

关键路径:SYSTEM\CurrentControlSet\services\mrxsmb10

值名称:开始

值类型:REG_DWORD

数值数据:4

然后删除您刚刚禁用的MRxSMB10 的依赖项。

在“新建注册表属性”对话框中,选择以下内容:

评论

这三个字符串不包含项目符号点(请参见下面的屏幕截图)。

在许多版本的Windows 中,默认值包括MRxSMB10,因此通过将它们替换为这个多值字符串,可以有效地删除MRxSMB10 作为LanmanServer 的依赖项,并从四个默认值降至上述三个值。

评论

使用组策略管理控制台时,不必使用引号或逗号。只需在单独的行中键入每个条目即可。

行动:更换

配置单元:HKEY_LOCAL_MACHINE

主要路径:SYSTEM\CurrentControlSet\Services\LanmanWorkstation

值名称:DependOnService

值类型:REG_MULTI_SZ

数值数据:

鲍泽

MRxSmb20

国家标准研究所

重新启动目标系统以完成SMB v1 的禁用。

用户评论

如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3
发型不乱一切好办

这个教程写的真好!最近一直想学习一下关于SMB版本的知识,现在终于搞懂了如何检测和管理这些版本。我的电脑上用的是SMB 3.0,因为它最稳定安全,不用担心老的协议被人利用啦!

    有12位网友表示赞同!

如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3
陌颜幽梦

太棒了!我之前一直没明白为什么Windows会安装那么多不同版本的SMB,这篇教程解释得很清楚,让我知道应该选择哪个版本更有优势,而且能根据需要进行灵活开关。

    有19位网友表示赞同!

如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3
毒舌妖后

感谢分享这个实用教程!最近我的电脑网络有点问题,怀疑是 SMB 版本引起的。这篇文章帮助我很快找到问题的所在,现在我已经成功关闭了 SMBv1,网络变流畅多了!

    有10位网友表示赞同!

如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3
此生一诺

SMBv3确实感觉更安全稳当,不过有时候旧设备还是需要SMB版本1、2才能连接,希望能有更好的方案来解决这个问题,比如虚拟化环境或者兼容层什么的。

    有11位网友表示赞同!

如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3
暖栀

我觉得这篇博文有些细节介绍不足,比如在禁用 SMB 版本时,对系统的影响还需要更详细的说明。如果不小心禁用了关键协议会造成什么后果?

    有12位网友表示赞同!

如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3
苏莫晨

SMB协议确实很常见,很多软件都依赖它,我经常用SMB来共享文件,这篇文章让我更了解了不同版本的差异,以后更新电脑的时候可以根据实际需求来选择合适的版本!

    有18位网友表示赞同!

如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3
最怕挣扎

我想问下,如果我只知道我的设备兼容 SMBv2 和 SMBv3,我应该在Windows系统上启用哪个版本呢?哪个版本更加安全和稳定呢?

    有10位网友表示赞同!

如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3
可儿

有没有办法永久禁用某个特定版本的SMB协议,比如只禁用SMBv1,却仍然使用SMBv2或SMBv3呢? 我担心某些程序依赖特定的 SMB 版本

    有19位网友表示赞同!

如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3
她的风骚姿势我学不来

这篇博文很清晰易懂,非常适合新手学习!我以前从来都不知道Windows 会安装三个不同的 SMB 版本,Thanks!

    有9位网友表示赞同!

如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3
■孤独像过不去的桥≈

这篇文章真是太棒了!以前我一直困扰着SMB版本的识别和配置,看了这篇教程终于解决了我的问题。现在我的系统里只有SMB 3.0 运行着,感觉更安全可靠!

    有15位网友表示赞同!

如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3
回忆未来

学习 SMB 的知识真的很重要,这篇文章让我了解到不同版本协议的优缺点。以后更新Windows 系统的时候,我会根据最新的安全性和稳定性来选择合适的 SMB 版本!

    有13位网友表示赞同!

如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3
敬情

我之前也曾遇到过 SMBv1 相关的问题,幸好看到这篇博文找到了解决方案。禁用 SMBv1 后,我的电脑网络变得更快更安全了!

    有17位网友表示赞同!

如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3
冷月花魂

这篇文章让我明白了很多,SMB 是非常重要的文件共享协议,不同的版本之间有很大的区别,我们要根据实际需求来选择和配置。

    有6位网友表示赞同!

如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3
酒笙倾凉

我感觉这篇博文缺失了一些更深入的解释,比如 SMB 版本之间的互操作性、安全策略等等。对于想要更全面了解 SMB 的读者可能需要寻找其他资源参考。

    有13位网友表示赞同!

如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3
罪歌

我觉得这篇博客文章很有用处!我现在开始明白如何管理不同的 SMB 版本了,这是个非常重要的知识。感谢作者分享!

    有8位网友表示赞同!

如何在Windows 中检测、启用和禁用SMBv1、SMBv2 和SMBv3
無極卍盜

其实,我觉得对于很多普通用户来说,只需要知道怎么启用和禁用 SMB 版本就足够了。这篇文章写的可以简单些,更容易让小白理解。

    有15位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/115312.html

(0)
小su's avatar小su
上一篇 2024年9月1日 上午4:04
下一篇 2024年9月1日 上午4:08

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注