![如何检查 Windows Server 2008 R2 上启用了哪个 SMB 版本](https://linux22.com/image/719086/%E5%A6%82%E4%BD%95%E6%A3%80%E6%9F%A5%20Windows%20Server%202008%20R2%20%E4%B8%8A%E5%90%AF%E7%94%A8%E4%BA%86%E5%93%AA%E4%B8%AA%20SMB%20%E7%89%88%E6%9C%AC.png)
我正在使用 Windows Server 2008 R2。我想知道我的服务器上启用了哪个版本的 SMB。
我在 PowerShell 中使用以下命令来了解已安装的 smb 版本:sc.exe qc lanmanworkstation
在其输出中,DEPENDENCIES 显示两个版本的 SMB:MRxSmb10
和MRxSmb20
。
现在令人困惑的是,安装了 2 个版本,我的服务器上启用了哪个 SMB 版本?由于 windows server 2008 R2 不支持get-smbconnection
命令,我无法确定具体版本。
我还检查了注册表路径HKEY_LOCAL_MACHINE\\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
,没有关于 SMB 版本的条目。
如果 SMB 版本不止一个,有人能告诉我如何确定服务器上启用了哪个 SMB 版本吗?
答案1
如果你没有看到HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
包含键 forSMB1
和REG_DWORD: 0
for已禁用lanmanworkstation
,则它被启用,这与指示对MRxSmb10
和都有依赖关系的另一种方法相加RxSmb20
。
正如所述如何检测、启用和禁用 SMBv1、SMBv2 和 SMBv3对于 Windows Server 2008 R2,您可以使用
sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start= disabled
此后,sc.exe query lanmanworkstation
应该只显示MRxSmb20
。
答案2
echo Verification de l'etat des protocoles SMB : echo --------------------------------------- echo. for %%V in (1 2) do ( for /F %%L in ('sc qc lanmanworkstation ^| find "mrxsmb%%V0"') do ( echo - Le gestionnaire reseau depend du protocole SMB V%%V for /F %%S in ('sc query mrxsmb%%V0 ^| find /C "RUNNING"') do ( IF %%S EQU 1 ( echo OK, le service SMB V%%V est en cour d'execution, poursuite de l'execution du script ) else ( echo. echo ******************************************************************************************************** echo SMB V%%V n'est pas en cours d'execution, arret du script echo Dans une console administrateur, taper les commandes ci-dessous puis redémarrer le poste si nécessaire : echo. echo C:^> sc qc lanmanworkstation ^(pour visualiser les dependances, mrxsmb10 = SMB V1, mrxsmb20 = SMB V2^) echo C:^> sc config lanmanworkstation depend= bowser/mrxsmb20/nsi ^(Pour exclure la dependance du protocole SMB V1^) echo C:^> sc config mrxsmb10 start= disabled ^(Pour désactiver SMB V1^) echo C:^> sc config mrxsmb20 start= auto ^(Pour lancer automatiquement SMB V2^) echo C:^> net stop workstation /YES ^(Pour redémarrer le service^) echo C:^> net start workstation echo ******************************************************************************************************** goto END_SCRIPT ) ) ) )