有时,由于连接速度较慢,我们会切换到较旧的协议版本。我希望能够检查并查看正在使用哪个版本,我只知道如何设置版本:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
sc.exe config mrxsmb20 start= disabled
如何在不使用 Powershell 的情况下检查正在使用的协议的版本?
答案1
如果你使用的是 Windows 8.1 或 2012,则可以使用 PowerShell cmdletGet-SmbConnection
为了那个原因。
解释答案(复制并粘贴自这里):
- SMB 1-Windows 2000
- SMB 2 - Windows Server 2008 和 Windows Vista SP1
- SMB 2.1 - Windows Server 2008 R2 和 Windows 7
- SMB 3.0 - Windows Server 2012 和 Windows 8
示例输出:
ServerName ShareName UserName Credential Dialect NumOpens
---------- --------- -------- ---------- ------- --------
SERVER2 f$ DOMAIN\USER otherdomain\otheruser... 2.02 1
SERVER1 backups DOMAIN\USER DOMAIN.LOCAL\USER 3.02 2
SERVER3 users DOMAIN\USER DOMAIN.LOCAL\USER 2.02 1
如果你不这样做,也许这个相关问题会有所帮助:
- 服务器故障,如何找出远程主机上启用了哪个版本的 SMB?
答案2
您可以检查 SMB 1/2 服务的状态,如下所示这里:
sc query mrxsmb10
sc query mrxsmb20