在 Microsoft 文档中,据说可以使用 PowerShell 命令打开 SMB Set-SmbServerConfiguration -EnableSMB2Protocol $true
。许多网站还说可以通过控制面板中的“打开或关闭 Windows 功能”来打开它。第一种方法不需要重新启动,而第二种方法则需要。那么这两者有区别吗?
在 Microsoft 文档中,据说可以使用 PowerShell 命令打开 SMB Set-SmbServerConfiguration -EnableSMB2Protocol $true
。许多网站还说可以通过控制面板中的“打开或关闭 Windows 功能”来打开它。第一种方法不需要重新启动,而第二种方法则需要。那么这两者有区别吗?
在 Windows 中,SMBv1 和 SMBv2/3 在两个独立的驱动程序(Srv 和 Srv2)中实现——如果收到 SMBv1 握手,一个将断开与另一个的连接。
通过禁用 SMBv1 或 SMBv2
Set-SmbServerConfiguration
只会使驱动程序拒绝协商相应的协议。驱动程序仍然存在并正在运行,但它只执行配置告诉它执行的操作。同时,通过控制面板禁用 SMB v1
Disable-WindowsOptionalFeature
或实际上将完全卸载“Srv”驱动程序。(没有删除 SMBv2 的相应选项。)