Windows10 – 共有フォルダにアクセスできなくなった時に確認しておきたいこと
パソコンのサポートの仕事をしていると、突然ネットワークに繋がらなくなったというサポートの依頼を受けることがあります。
先日、お客さまよりこのようなお問い合わせがありました。
「ローカルネットワークの中にいるWindows10のパソコンから共有フォルダにアクセスできなくなってしまった」
![](https://www.object-lab.co.jp/wp-content/uploads/2020/04/e3c9e046a7a7e83d9399d121db0909bc.png)
(例:\\USER-PC)
エラーコード 0x80004005
エラーを特定できません
Windowsにはsmbというファイル共有の機能が搭載されています。
smbにはバージョンがあり,Windows10ではsmbv3が使われています。このエラーは共有フォルダを公開する側がsmbv1になっている場合に発生するようです。
以前は共有フォルダにアクセスできていました。原因はバージョン1709以降のWindowsでsmbv1が無効になることにあったようです。
Windows10のインストールやアップデート後の利用状況によって,実際はsmbv1が無効にならない場合もあるそうです。
Windows 10 Home と Windows 10 Professional のインプレースアップグレードと Insider 便では、最初に SMBv1 が自動的に削除されるわけではありません。 SMBv1 クライアントまたはサーバーが合計で15日間使用されていない (コンピューターがオフになっている時間を除く) 場合、それぞれが自動的にアンインストールされます。
引用 https://docs.microsoft.com/ja-jp/windows-server/storage/file-server/troubleshoot/smbv1-not-installed-by-default-in-windows
ローカルネットワークの構成
NTTホームゲートウェイ[PR-500MI] +--ポート +--LINE to インターネット +--無線カード +--SSID-1 (2G) to パソコン[windows10]共有フォルダを公開する側 192.168.1.5 to パソコン[windows10]共有フォルダに接続する側 192.168.1.2 +--SSID-2 (2G) +--SSID-3 (5G) +--有線LAN +—ネットワーク周辺機器
共有フォルダを公開する側のパソコンには「Windowsのログインパスワード」の設定と「共有フォルダのアクセス権」の設定が,それぞれ適切に行われているものとします。
共有相手はEveryoneやGuestではなく特定のユーザーとします。
尚,エクスプローラのネットワークの一覧に,ローカルネットワークのコンピュータが表示される/されないについては,ネットワーク探索の問題なので,この記事では説明を省略いたします。
そもそもWindowsの共有フォルダにアクセスするにはどうなっていればよい?
共有フォルダを公開する側、共有フォルダに接続する側の双方でsmbv1を有効にするのもひとつの方法ですが,下記の理由からあまりおすすめできません。
Windows8.1からsmbv1は非推奨になっています。セキュリティや通信効率の面で機能強化されたsmbv2/v3を使いましょうということになりました。smbv1しか対応してないNASとかだと仕方ないですが,MSが非推奨にしているプロトコルを使い続けるのはよろしくないと言えるでしょう。
やはりここは共有フォルダを公開する側で対処したいものです。Windows10では後継プロトコルのsmbv2/v3で共有ファイルにアクセスするのでsmbv1を削除しても問題ありません。
smbv1の削除は「Windowsの機能」から行ないます。共有フォルダを公開する側のパソコンで、以下の操作手順を行ってください。
![](https://www.object-lab.co.jp/wp-content/uploads/2020/06/image-1.png)
![](https://www.object-lab.co.jp/wp-content/uploads/2020/06/image.png)
共有フォルダを公開する側のパソコンのsmbv1が削除されると、その後はsmbv2/v3でアクセスを待ち受けるようになります。共有フォルダに最初にアクセスするときは、smbのバージョンを合わせる処理が行われ、互いが使える最大のバージョンに合わせます。Windows10同士であればsmbv3で共有フォルダにアクセスできるようになります。
![](https://www.object-lab.co.jp/wp-content/uploads/2020/06/image-2.png)
共有フォルダを開いた状態で、PowerShellを管理者として開き
Get-SmbConnection
というコマンドレットを使うと、共有フォルダにアクセスしているsmbのバージョンがわかります。
PS C:\WINDOWS\system32> Get-SmbConnection
ServerName ShareName UserName Credential Dialect NumOpens
---------- --------- -------- ---------- ------- --------
192.168.1.5 Public DESKTOP-EHJMXXU\MyPC \owner 3.1.1 1
ここではDialect(ダイアレクト)の値が「3.1.1」と表示されています。
3.1.1の表記はsmbv3を示しています。これでsmbv3を利用してアクセスが行われていることがわかります。
ここまでお読みいだきありがとうございました。
[widgets_on_pages id=”差し込みプロフィールoki”]