如何在 Windows 中检测、启用和禁用 SMBv1、SMBv2 和 SMBv3
如果有更好的建议或者想看更多关于技术大全及相关资讯,可以多多关注茶馆百科网。

摘要
本文介绍如何在SMB客户机和服务器组件上启用和禁用服务器消息块(SMB)版本1 (SMBv1)、SMB版本2 (SMBv2)和SMB版本3 (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的服务器管理器方法
SMB v1
Windows 8.1、Windows 10: PowerShell方法
0
SMB v2/v3协议(仅禁用SMB v2/v3服务器)
Windows 8.1和Windows 10:添加或删除程序的方法
如何检测SMB服务器的状态并使能/关闭SMB协议
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 Server上启用或禁用SMB协议,请使用Windows PowerShell或注册表编辑器。
PowerShell方法
讲话
此方法需要PowerShell 2.0或更高版本。
SMB服务器上的SMB v1
感知
PowerShell复制
Get-Item HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters | ForEach-Object
默认配置=Enabled(没有创建注册表项),因此不会返回SMB1值
禁用
PowerShell复制
“Set - ItemProperty - Path”注册表项HKLM: SYSTEMCurrentControlSetServicesLanmanServerParameters SMB1 -type DWORD - Value 0 - Force
启用:
PowerShell复制
“Set - ItemProperty - Path”注册表项HKLM: SYSTEMCurrentControlSetServicesLanmanServerParameters SMB1 -type DWORD - Force - Value”
请注意,在进行这些更改后必须重新启动计算机。有关详细信息,请参阅Microsoft服务器存储。
SMB服务器的SMB v2/v3版本
感知
PowerShell复制
Get-ItemProperty HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters | ForEach-Object
禁用
PowerShell复制
“Set - ItemProperty - Path”注册表项HKLM: SYSTEMCurrentControlSetServicesLanmanServerParameters SMB2 -type DWORD - Value 0 - Force
PowerShell复制
“Set - ItemProperty - Path”注册表项HKLM: SYSTEMCurrentControlSetServicesLanmanServerParameters SMB2 -type DWORD - Force - Value”
讲话
进行这些更改后,必须重新启动计算机。
注册表编辑器
重要的
请仔细按照本节中描述的步骤操作。如果注册表修改不正确,可能会出现严重的问题。在修改注册表之前,请备份注册表,以便在出现问题时可以恢复注册表。
要在SMB服务器上启用或禁用SMBv1,需要配置以下注册表项:
HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServicesLanmanServerParameters
复制
Registry entry: SMB1
REG_DWORD: 0=Disabled
REG_DWORD: 1=Enabled
Default: 1=Enabled (No registry key is created)
要在SMB服务器上启用或禁用SMBv2,需要配置以下注册表项:
HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServicesLanmanServerParameters
复制
Registry entry: SMB2
REG_DWORD: 0=Disabled
REG_DWORD: 1=Enabled
Default: 1=Enabled (No registry key is created)
讲话
进行这些更改后,必须重新启动计算机。
如何检测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的服务器存储
讲话
使用组策略禁用SMBv1服务器
这个过程在注册表中配置以下新项:
HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServicesLanmanServerParameters
配置使用组策略的操作步骤如下:
在“新建注册表属性”对话框中选择以下内容:
这将禁用SMBv1服务器组件。此组策略必须应用于域中所有必要的工作站、服务器和域控制器。
WMI过滤器还可以设置为排除不受支持的操作系统或选定的排除,例如Windows XP。
重要的
在旧的Windows XP或早期版本的Linux以及不支持SMBv2或SMBv3的第三方系统上的域控制器上进行这些更改时,请注意请求访问SYSVOL或其他禁用SMB v1的文件共享。
使用组策略禁用SMBv1客户端
要禁用SMBv1客户机,需要更新服务注册表项以禁用MRxSMB10的启动,然后需要从LanmanWorkstation条目中删除对MRxSMB10的依赖,以便它可以正确启动,而不必首先启动MRxSMB10。
这将更新并替换注册表中以下两个条目中的默认值:
HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetservicesmrxsmb10
注册表项:Start REG_DWORD: 4=Disabled
HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServicesLanmanWorkstation
DependOnService REG_MULTI_SZ: 'Bowser', 'MRxSmb20', 'NSI'
讲话
默认包含的MRxSMB10已作为依赖项删除。
配置使用组策略的操作步骤如下:
摘要
如果所有设置都在同一个GPO (Group Policy object)中,“组策略管理”将显示如下设置。
测试和验证
完成这些配置后,可以复制和更新策略。如果有必要,在命令提示符下运行gpupdate/force,然后查看目标计算机,以确保正确应用了注册表设置。确保SMB v2和SMB v3在环境中的所有其他系统上正常工作。
讲话
不要忘记重新启动目标系统。
请求组合-允许多个SMB 2请求作为单个网络请求发送
更大的读写能力,更好地利用更快的网络
文件夹和文件属性的缓存——客户端保留文件夹和文件的本地副本
持久句柄——允许在暂时断开连接时透明地重新连接到服务器
改进的消息签名-HMAC SHA-256用哈希算法取代MD5
0
符号链接支持
客户端oplock租赁模式—限制客户端和服务器之间的数据传输,提高了高延迟网络的性能,提高了SMB服务器的可扩展性
大MTU支持-充分利用10千兆(GB)以太网
提高能源效率-打开文件到服务器的客户端可以进入睡眠状态
透明故障转移——客户端在维护或故障转移期间重新连接,而不会中断集群节点
扩展-并发访问所有文件集群节点上的共享数据
多通道-当客户端和服务器之间有多条路径时,聚合网络带宽和容错性
SMB Direct—增加了对RDMA网络的支持,实现了非常高的性能,提供了低延迟和低CPU占用
加密—提供端到端加密,防止在不受信任的网络上被窃听
目录租赁——通过缓存提高分支机构的应用程序响应时间
性能优化-优化小随机读/写i/o
感知
Get-WindowsFeature FS-SMB1
禁用
PowerShell复制
Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol
启用:
PowerShell复制
Enable-WindowsOptionalFeature -Online -FeatureName smb1protocol
感知
PowerShell复制
Get-windowsoptionalfeature-online-featurename SMB1Protocol
禁用
PowerShell复制
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
启用:
PowerShell复制
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
感知
PowerShell复制
Get-SmbServerConfiguration | Select EnableSMB2Protocol
禁用
PowerShell复制
Set-SmbServerConfiguration - EnableSMB2Protocol $false
启用:
PowerShell复制
Set-SmbServerConfiguration - EnableSMB2Protocol $true
察觉
PowerShell复制
Get-SmbServerConfiguration | Select EnableSMB1Protocol
禁用
PowerShell复制
Set-SmbServerConfiguration -EnableSMB1Protocol $false
启用:
PowerShell复制
Set-SmbServerConfiguration -EnableSMB1Protocol $true
察觉
PowerShell复制
Get-SmbServerConfiguration | Select EnableSMB2Protocol
禁用
PowerShell复制
Set-SmbServerConfiguration -EnableSMB2Protocol $false
启用:
PowerShell复制
Set-SmbServerConfiguration -EnableSMB2Protocol $true
Detect
cmd复制
sc.exe qc lanmanworkstation
禁用
cmd复制
sc.exe config lanmanworkstation depend=bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start=disabled
启用:
cmd复制
sc.exe config lanmanworkstation depend=bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb10 start=auto
察觉
cmd复制
sc.exe qc lanmanworkstation
禁用
cmd复制
sc.exe config lanmanworkstation depend=bowser/mrxsmb10/nsi
sc.exe config mrxsmb20 start=disabled
启用:
cmd复制
sc.exe config lanmanworkstation depend=bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb20 start=auto
你必须在提升的命令提示符下运行这些命令。
进行这些更改之后,必须重新启动计算机。
注册表项: SMB1
REG_DWORD: 0=已禁用
打开“组策略管理控制台”****。 右键单击应该包含新首选项的组策略对象(GPO),然后单击“编辑”。
在控制台树中的'计算机配置' 下,展开'首选项' 文件夹,然后展开' Windows 设置' 文件夹。
右键单击'注册表' 节点,指向'新建',然后选择'注册表项'。
操作:创建
Hive: HKEY_LOCAL_MACHINE
密钥路径: SYSTEMCurrentControlSetServicesLanmanServerParameters
值名称: SMB1
值类型: REG_DWORD
值数据:0
打开“组策略管理控制台”****。 右键单击应该包含新首选项的组策略对象(GPO),然后单击“编辑”。
在控制台树中的'计算机配置' 下,展开'首选项' 文件夹,然后展开' Windows 设置' 文件夹。
右键单击'注册表' 节点,指向'新建',然后选择'注册表项'。
在'新建注册表属性' 对话框中,选择以下项:
操作:更新
Hive: HKEY_LOCAL_MACHINE
密钥路径: SYSTEMCurrentControlSetservicesmrxsmb10
值名称: Start
值类型: REG_DWORD
值数据:4
然后删除刚刚禁用的MRxSMB10的依赖项。
在'新建注册表属性' 对话框中,选择以下项:
备注
这三个字符串不包含项目符号(请参阅下面的屏幕截图)。
在许多版本的Windows 中,默认值都包含MRxSMB10 ,因此通过使用此多值字符串替换它们,这实际上是将MRxSMB10删除为LanmanServer的依赖项,并从四个默认值向下转到上述三个值。
备注
使用组策略管理控制台时,不必使用引号或逗号。 只需在单独的行中键入每个条目。
操作:替换
Hive: HKEY_LOCAL_MACHINE
密钥路径: SYSTEMCurrentControlSetServicesLanmanWorkstation
值名称: DependOnService
值类型: REG_MULTI_SZ
值数据:
Bowser
MRxSmb20
NSI
重新启动目标系统以完成SMB v1 的禁用。
————————————————
版权声明:本文为CSDN博主「allway2」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/allway2/article/details/108031861
本文主要介绍了关于如何在 Windows 中检测、启用和禁用 SMBv1、SMBv2 和 SMBv3的相关养殖或种植技术,栏目还介绍了该行业生产经营方式及经营管理,关注发展动向,注重系统性、科学性、实用性和先进性,内容全面新颖、重点突出、通俗易懂,全面给您讲解技术怎么管理的要点,是您致富的点金石。
以上文章来自互联网,不代表本人立场,如需删除,请注明该网址:http://23.234.50.4:8411/article/1590789.html