Windows 11でSMB1.0を有効にする方法|古いNAS・Sambaサーバーに接続できない場合の確認方法

Windows

Windows 11から古いNASやSambaサーバーへアクセスしようとすると、共有フォルダーを開けないことがあります。

例えば、

\\192.168.1.100\share

へアクセスしても接続できず、古いサーバー側がSMB1.0しか対応していないことが原因になっている場合があります。

Windowsの「Windowsの機能」を確認すると、

SMB 1.0/CIFS ファイル共有のサポート

の中に、

SMB 1.0/CIFS クライアント
SMB 1.0/CIFS サーバー
SMB 1.0/CIFS 自動削除

などが表示されます。

ここで迷うのが、

古いSambaサーバーへ接続したいだけなら、どれを有効にすればいいのか?

という点です。

結論からいうと、Windows 11から古いNAS・Sambaサーバーへ接続するだけなら、基本的に必要なのは「SMB 1.0/CIFS クライアント」側です。

この記事では、SMB1.0が必要になる理由と、Windows 11での確認方法、そしてSMB1を有効にするときの注意点を紹介します。


SMBとは?

SMB(Server Message Block)は、Windowsなどでファイル共有に使用されるプロトコルです。

例えば、

Windows 11
    ↓
\\fileserver\share
    ↓
ファイルサーバー

というアクセスでSMBが利用されます。

SMBには複数の世代があり、大きく、

SMB1
SMB2
SMB3

があります。

現在のWindowsではSMB2/SMB3が中心ですが、非常に古いNASやSambaサーバーではSMB1しか利用できない場合があります。

その場合、

Windows 11
   │
 SMB2/3
   │
   ×
   │
古いNAS/Samba
SMB1のみ

となり、共有フォルダーへアクセスできないことがあります。


まずSMB1が本当に必要なのか確認する

いきなりSMB1を有効にするのはおすすめしません。

最初に、

接続先NASの機種
Sambaのバージョン
サーバーOS
対応SMBバージョン

を確認します。

接続先でSMB2やSMB3を有効にできるのであれば、サーバー側をSMB2/3へ移行する方を優先します。

つまり、

接続できない
    ↓
SMB1を有効化

とすぐ判断するのではなく、

接続できない
    ↓
接続先のSMBバージョン確認
    ↓
SMB2/3へ変更できる?
   ┌────┴────┐
  YES        NO
   ↓          ↓
SMB2/3へ    SMB1を使う必要性を
移行        検討

という順番で考えます。


SMB1は古いプロトコルなので注意

SMB1は古いプロトコルで、現在のWindows環境で積極的に使用するものではありません。

そのため、

接続できないから、とりあえずSMB1を全部有効にする

という対応は避けた方がよいでしょう。

特に業務PCでは、組織のセキュリティポリシーを確認してから変更してください。


Windows 11から古いSambaへ接続する場合はどれを有効にする?

Windowsの機能を見ると、

SMB 1.0/CIFS ファイル共有のサポート
    │
    ├─ SMB 1.0/CIFS クライアント
    │
    ├─ SMB 1.0/CIFS サーバー
    │
    └─ SMB 1.0/CIFS 自動削除

などが表示されます。

ここで重要なのが、Windows 11がどちらの役割なのかです。

例えば、

Windows 11
    ↓
古いSambaサーバー

なら、

Windows 11 = クライアント
Samba       = サーバー

です。

したがってWindows 11側では、必要性が確認できた場合に、

SMB 1.0/CIFS クライアント

を検討します。


「SMB 1.0/CIFS サーバー」は何のため?

反対に、

別のPC
   ↓
Windows 11の共有フォルダー

という使い方なら、Windows 11がSMBサーバー側になります。

つまり、

Windows 11
   ↑
SMB1で接続してくる機器

を受け付けるための機能が、

SMB 1.0/CIFS サーバー

です。

古いSambaサーバーへアクセスするだけなのに、Windows 11側のSMB1サーバー機能まで有効にする必要は通常ありません。

この違いを理解しておくことが重要です。


Windows 11でSMB1クライアントを有効にする

GUIから設定する場合は、

コントロール パネル
      ↓
プログラム
      ↓
プログラムと機能
      ↓
Windowsの機能の有効化または無効化

を開きます。

一覧から、

SMB 1.0/CIFS ファイル共有のサポート

を展開します。

古いSamba/NASへWindows 11から接続する目的なら、

SMB 1.0/CIFS クライアント

を有効にします。

設定変更後、Windowsから再起動を求められた場合は再起動します。


SMB1を全部チェックする必要はない

ここがこの記事で特に伝えたいポイントです。

例えば、

☑ SMB 1.0/CIFS クライアント
☑ SMB 1.0/CIFS サーバー
☑ SMB 1.0/CIFS 自動削除

と全部チェックするのではなく、

Windows → 古いSamba

という通信なら、

Windows = SMBクライアント

なので、必要な機能だけを考えます。

不要なSMB1機能まで有効にしない方が安全です。


PowerShellからSMB1の状態を確認する

PowerShellからWindowsのオプション機能を確認する方法もあります。

管理者としてPowerShellを起動し、

Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

などで状態を確認できます。

環境によってSMB1関連機能を確認したい場合は、

Get-WindowsOptionalFeature -Online | Where-Object FeatureName -like "*SMB1*"

とすると分かりやすいです。

例えば、

FeatureName : SMB1Protocol-Client
State       : Disabled

なら、SMB1クライアント機能が無効になっています。


PowerShellでSMB1クライアントを有効にする

GUIではなくPowerShellから操作する場合は、管理者権限で、

Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client

を使用できます。

実行後に再起動が必要になる場合があります。

ただし、業務環境ではスクリプトなどで大量の端末へ展開する前に、なぜSMB1が必要なのかを確認することをおすすめします。


SMB1を有効にしても接続できない場合

SMB1を有効にしたからといって、必ず接続できるとは限りません。

例えば、

SMBバージョン
名前解決
TCP/445
Firewall
ユーザー名・パスワード
Samba側の共有設定
NTLMなどの認証方式
ゲストアクセス

といった別の原因も考えられます。

そのため、

SMB1有効
  ↓
接続不可
  ↓
SMB1を入れ直す

と繰り返すのではなく、次の切り分けへ進みます。


IPアドレスで接続してみる

例えば、

\\fileserver\share

で接続できない場合、

\\192.168.1.100\share

のようにIPアドレスを指定して確認します。

もし、

ホスト名 → NG
IPアドレス → OK

なら、SMBそのものよりも、

DNS
名前解決
NetBIOS

などを疑う材料になります。

つまり、

共有フォルダーに接続できない=SMB1が原因

とは限りません。


TCP/445を確認する

Windowsから接続先サーバーのTCP/445へ接続できるか確認します。

PowerShellなら、

Test-NetConnection 192.168.1.100 -Port 445

を使用できます。

例えば、

TcpTestSucceeded : True

なら、少なくともテストした端末から接続先TCP/445までの到達性を確認する材料になります。

一方、

TcpTestSucceeded : False

なら、

Firewall
ルーティング
サーバー停止
SMBサービス
ネットワーク

なども調査します。


net useで接続を確認する

エクスプローラーだけでなく、

net use

を使って確認する方法もあります。

例えば、

net use \\192.168.1.100\share /user:username

を実行します。

パスワード入力を求められたら入力します。

これによってエクスプローラーでは分かりにくかったエラーが確認できる場合があります。


古い接続情報が残っていないか確認する

以前使用した資格情報が残っていると、別のユーザーで接続しようとしても問題になる場合があります。

まず、

net use

で現在の接続を確認します。

例えば、

\\192.168.1.100\IPC$

への接続が残っていることがあります。

不要な接続であることを確認したうえで、

net use \\192.168.1.100\IPC$ /delete

などで切断できます。

その後、必要なユーザーを指定して再接続します。

この部分は別記事として、

net useで共有フォルダーの接続を削除・ユーザーを指定して再接続する方法

に分けてもよいでしょう。


「資格情報が違う」問題とSMB1を混同しない

例えば、

Windows 11
    ↓
Samba
    ↓
接続できない

というだけでは、

SMB1が無効

なのか、

資格情報が違う

のか分かりません。

そのため、

SMBプロトコル
ネットワーク
認証
共有権限
ファイル権限

を分けて考えることが重要です。


古いSamba側を更新できるなら、そちらを優先する

例えば、

Windows 11 × 100台
       ↓
古いSamba × 1台

という環境なら、

Windows 100台でSMB1を有効化

するより、

古いSambaを更新
       ↓
SMB2/3対応
       ↓
WindowsはSMB1不要

とする方が長期的には望ましい構成です。

もちろん、古い業務システムでは簡単に更新できないこともあります。

その場合でも、

SMB1を恒久的な標準設定にするのではなく、必要な端末・通信範囲をできるだけ限定する

という考え方が重要です。


SMB1が必要になる古いシステム

実際の業務環境では、

古いNAS
古いSamba
古い複合機
古いスキャナー
旧式の業務システム
更新できない組み込み機器

などが残っていることがあります。

そのため、

SMB1は古い
 ↓
全部廃止

と簡単にはいかない環境もあります。

重要なのは、

なぜSMB1が必要なのか
どの端末が必要なのか
どのサーバーへ接続するのか
いつまで必要なのか

を把握しておくことです。


私ならこの順番で調べる

Windows 11から古いNAS/Sambaへ接続できない場合、次のように切り分けます。

共有フォルダーに接続できない
          ↓
接続先は生きている?
          ↓
IPアドレスで接続
          ↓
TCP/445確認
          ↓
接続先のSMBバージョン確認
          ↓
     SMB1しか使えない?
       ┌──┴──┐
      NO     YES
       │      │
SMB2/3で調査  SMB1クライアントを
              必要性を確認して有効化
                    ↓
                再接続
                    ↓
              net use確認
                    ↓
             資格情報・権限確認

最初からSMB1を有効にするのではなく、

「本当にSMB1が原因なのか?」

を確認しながら進めます。


SMB1を有効にするのは「対処」であって「理想的な解決」ではない

古いSambaサーバーへ接続できるようになった場合、

SMB1有効化
   ↓
接続成功

なので、トラブルとしては解消します。

しかし、長期的には、

SMB1
 ↓
古いプロトコル
 ↓
SMB2/3へ移行

を検討する必要があります。

つまり、

SMB1を有効にして接続できたところで終わらず、「なぜSMB1が必要なのか」を記録しておく

ことをおすすめします。

特に企業・学校など、多数のWindows端末を管理している環境では重要です。


まとめ

Windows 11から古いNASやSambaサーバーへ接続できず、接続先がSMB1しか対応していない場合は、

SMB 1.0/CIFS クライアント

が必要になることがあります。

ポイントは、

Windows 11
     ↓
古いSamba

なら、

Windows 11 = クライアント

だということです。

古いSambaへアクセスするだけなら、Windows 11の、

SMB 1.0/CIFS サーバー

まで有効にする必要は通常ありません。

そして、SMB1を有効にする前に、

SMB2/3へ移行できないか
TCP/445は通るか
IP指定なら接続できるか
資格情報に問題はないか

も確認します。

トラブル対応としては、

「共有に接続できないからSMB1を有効にする」ではなく、「接続先がSMB1しか使えないことを確認してから、必要なクライアント機能だけを有効にする」

という順番が重要です。

コメント

タイトルとURLをコピーしました