How to check which SMB Version is enabled on Windows Server 2008 R2

I want to find which version of SMB is enabled on Windows Server 2008 R2.

I used the following command in PowerShell to know the smb versions installed:

sc.exe qc lanmanworkstation

In its output, the DEPENDENCIES shows two versions of SMB:

  • MRxSmb10
  • MRxSmb20

Now the confusion is out of 2 versions installed, which SMB version is enabled on my server? As Server 2008 R2 does not support Get-SMBConnection I am unable to determine the specific version.

I have also check the registry path, and there is no entry about SMB version.

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

Can anyone please tell me how to determine which SMB version is enabled on server if SMB versions are more than one?


Solution 1:

To answer your question. Since you found out that the Get-SMBConnection is not supported at win2008R2 the best way is to find out which drivers are running:

I have used our win2008R2 to check (see below example). If you find out that the STATE is 4 RUNNING than the version of smb is active and "running"

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

That means that both SMB versions are active and running.