如何检查Windows Server 2008 R2上启用的SMB版本

时间:2018-03-16 08:58:20

标签: powershell windows-server-2008-r2

我想知道在Windows Server 2008 R2上启用了哪个版本的SMB。

我在PowerShell中使用以下命令来了解安装的smb版本:

sc.exe qc lanmanworkstation

在其输出中,DEPENDENCIES显示了两个版本的SMB:

  • MRxSmb10
  • MRxSmb20

现在混淆了2个版本,我的服务器上启用了哪个SMB版本?由于Server 2008 R2不支持Get-SMBConnection,因此无法确定具体版本。

我还检查了注册表路径,并且没有关于SMB版本的条目。

HKEY_LOCAL_MACHINE\\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters 

如果SMB版本多于一个,有人可以告诉我如何确定在服务器上启用哪个SMB版本?

1 个答案:

答案 0 :(得分:3)

回答你的问题。由于您发现win2008R2不支持Get-SMBConnection,因此最好的方法是找出正在运行的驱动程序:

我使用了win2008R2来检查(见下面的例子)。如果您发现STATE4 RUNNING而不是smb的版本处于活动状态且"正在运行"

PS U:\> sc.exe query mrxsmb10

SERVICE_NAME: mrxsmb10
        TYPE               : 2  FILE_SYSTEM_DRIVER
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

PS U:\> sc.exe query mrxsmb20

SERVICE_NAME: mrxsmb20
        TYPE               : 2  FILE_SYSTEM_DRIVER
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

这意味着两个SMB 版本都处于活动状态且正在运行。