Windows および Windows Server 2025 で SMB 方言を管理する
管理者は、Windows ServerとWindowsクライアントでSMB2とSMB3方言を管理する能力を持っています。 この記事では、グループポリシーとWindows PowerShellを使用して、SMBサーバーとクライアントのSMB方言の最小値と最大値を構成する方法について説明します。
デフォルトでは、SMBサーバーとクライアントは、SMB 2.0.2から3.1.1までの方言のうち、最も一致する方言を自動的にネゴシエートします。 Windows 11 バージョン 24H2、 Windows Server 2025 以降では、使用する SMB プロトコルを指定して、古くて安全性の低いバージョンがサーバーに接続できないようにすることができます。 例えば、プロトコルの最も安全な方言であるSMB 3.1.1のみを使用するように接続を指定することができます。
前提条件
SMB方言を設定する前に、以下のものが必要です:
- 以下のオペレーティング・システムのいずれかで動作しているSMBサーバー。
- Windows Server 2025。
- Windows 11、24H2 以降。
- コンピューターの管理者権限。
- ドメインでグループ ポリシーを使用している場合は、グループ ポリシー オブジェクト (GPO) を作成または編集し、適切な組織単位 (OU) にリンクするための権限が必要です。
SMB方言の最大値と最小値を設定する
グループポリシーまたは PowerShell を使用して、ネゴシエーションで使用可能な方言を構成できます。 方言の最小値と最大値は、SMBサーバーとクライアントで別々に設定できる。 また、最大値を設定しないこともできる。 例えば、最小値を3.1.1に設定し、最大値を実質的に3.1.1に設定することができる。
SMB サーバー
以下の手順で、SMB サーバーで使用可能な方言(つまり、インバウンド接続用)を設定できます:
ここでは、PowerShell を使用して、Set-SmbServerConfiguration コマンドレットを使用して、SMB サーバーの最小および最大 SMB 方言を構成する方法を示します:
管理者特権の PowerShell プロンプトから、次のコマンドを実行します。
Set-SmbServerConfiguration -Smb2DialectMax {SMB202 | SMB210 |
SMB300 | SMB302 | SMB311 | None} -Smb2DialectMin {None | SMB202 | SMB210 | SMB300 | SMB302 | SMB311}
たとえば、最小方言を SMB 3.0.0 に、最大方言を SMB 3.1.1 に設定するには、次のコマンドを実行します:
Set-SmbServerConfiguration -Smb2DialectMax SMB311 -Smb2DialectMin SMB300
SMB client
以下の手順で、SMB クライアント(つまり、送信接続)で使用できる方言を構成できます:
ここでは、PowerShell で Set-SmbClientConfiguration コマンドレットを使用して、SMB クライアントの SMB 方言の最小値と最大値を設定する方法を示します:
管理者特権の PowerShell プロンプトから、次のコマンドを実行します。
Set-SmbClientConfiguration -Smb2DialectMax {SMB202 | SMB210 |
SMB300 | SMB302 | SMB311 | None} -Smb2DialectMin {None | SMB202 | SMB210 | SMB300 | SMB302 | SMB311}
例えば、方言の最小値と最大値を SMB 3.1.1 に設定するには、次のコマンドを実行します:
Set-SmbClientConfiguration -Smb2DialectMax SMB311 -Smb2DialectMin SMB311
方言ネゴシエーションの確認
Wiresharkのようなネットワークキャプチャツールを使用して、SMBプロトコルのネゴシエーション中のクライアントとサーバーの応答を調べることができます。 次の例では、クライアントがSMB 3.1.1のみを要求していますが、これは最小および最大の方言が3.1.1に設定されているためです: