Windows Server 2008 R2 を使用しています。サーバー上で有効になっている SMB のバージョンを知りたいです。
インストールされている smb バージョンを確認するために、PowerShell で次のコマンドを使用しました。sc.exe qc lanmanworkstation
出力では、DEPENDENCIES に SMB の 2 つのバージョン (MRxSmb10
および)が表示されますMRxSmb20
。
現在、2 つのバージョンがインストールされているため混乱が生じています。私のサーバーではどの SMB バージョンが有効になっていますか? Windows Server 2008 R2 はコマンドをサポートしていないためget-smbconnection
、特定のバージョンを特定できません。
レジストリ パスも確認しましたHKEY_LOCAL_MACHINE\\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
が、SMB バージョンに関するエントリはありませんでした。
SMB バージョンが複数ある場合、サーバー上でどの SMB バージョンが有効になっているかを確認する方法を教えてください。
答え1
forでHKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
キーが含まれていない場合SMB1
REG_DWORD: 0
無効の場合、これが有効になり、とlanmanworkstation
の両方に依存していることを示す他のメソッドと合致します。MRxSmb10
RxSmb20
記載の通りSMBv1、SMBv2、SMBv3を検出、有効化、無効化する方法Windows Server 2008 R2のセクションでは、SMBv1を無効にするには
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 ) ) ) )