我想找出在 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 版本?

    最佳答案

    回答你的问题。由于您发现 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 版本都处于事件状态并正在运行。

    关于powershell - 如何检查 Windows Server 2008 R2 上启用了哪个 SMB 版本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49316623/

    10-10 18:14