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