本文介绍如何在 SMB 客户端和服务器组件上启用/禁用服务器消息块 SMBv1、SMBv2 和 SMBv3。
注意:建议由专业技术工程师完成以下操作。
禁用 SMBv2 和 SMBv3 的影响
我们建议不要禁用 SMBv2 或 SMBv3。禁用 SMBv2 或 SMBv3 只能作为临时故障排除措施。请勿使 SMBv2 或 SMBv3 保持禁用状态。
禁用 SMBv2 的影响
在 Windows 7 和 Windows Server 2008 R2 中,禁用 SMBv2 会停用以下功能:
请求复合 - 允许发送多个 SMB 2 请求作为单个网络请求 大型读写 - 更好地利用更快速的网络 文件夹和文件属性缓存 - 客户端保留文件夹和文件的本地副本 持久句柄 - 如果临时断开连接,则允许连接以透明方式重新连接到服务器 改进的消息签名 - HMAC SHA-256 代替 MD5 作为哈希算法 改进的文件共享扩展性 - 每个服务器的用户数量、共享数量和打开文件数量大大增加 支持符号链接 客户端 oplock 租赁模式 - 限制在客户端和服务器之间传输的数据,从而提高高延迟网络性能并增强 SMB 服务器的扩展性 大型 MTU 支持 - 可充分利用 10 千兆字节 (GB) 以太网 改进的能效 - 向服务器打开文件的客户端可以睡眠禁用 SMBv3 的影响
在 Windows 8、Windows 8.1、Windows 10、Windows Server 2012 和 Windows Server 2016 中,禁用 SMBv3 会停用以下功能(以及以上列表中所述的 SMBv2 功能):
透明故障转移 - 在维护或故障转移期间,客户端会重新连接,不会干扰群集节点 扩展 并发访问所有文件群集节点上的共享数据 多通道 - 如果客户端和服务器之间有多个路径可用时,则聚合网络带宽和容错 SMB 直通 增加 RDMA 网络支持,实现极高的性能、低延迟和低 CPU 利用率 加密 提供端到端加密,并防止不可靠网络上的窃听 目录租赁 - 通过缓存改进分支机构中应用程序的响应时间 性能优化 - 对小型随机读/写 I/O 的优化在 SMB 服务器上启用/禁用 SMB 协议
Windows 8 和 Windows Server 2012
Windows 8 和 Windows Server 2012 引入了新的 Set-SMBServerConfiguration Windows PowerShell cmdlet。 通过此 cmdlet,你可以在服务器组件上启用或禁用 SMBv1、SMBv2 和 SMBv3 协议。
注意:因为 SMBv2 和 SMBv3 共用一个堆叠,所以在 Windows 8 或 Windows Server 2012 中启用或禁用 SMBv2 时,也会启用或禁用 SMBv3。
使用 PowerShell cmdlet
运行 Set-SMBServerConfiguration cmdlet 后,无须重启计算机。
若要获取 SMB 服务器协议配置的当前状态,请运行以下 cmdlet:
Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol
若要在 SMB 服务器上禁用 SMBv1,请运行以下 cmdlet:
Set-SmbServerConfiguration -EnableSMB1Protocol $false
若要在 SMB 服务器上禁用 SMBv2 和 SMBv3,请运行以下 cmdlet:
Set-SmbServerConfiguration -EnableSMB2Protocol $false
若要在 SMB 服务器上启用 SMBv1,请运行以下 cmdlet:
Set-SmbServerConfiguration -EnableSMB1Protocol $true
若要在 SMB 服务器上启用 SMBv2 和 SMBv3,请运行以下 cmdlet:
Set-SmbServerConfiguration -EnableSMB2Protocol $true
Windows 7、Windows Server 2008 R2、Windows Vista 和 Windows Server 2008
新闻热点
疑难解答