Windows10のかゆい所に手が届く。「ネットワークパスが見つからない」を解決する方法

2019年12月18日

こんにちわスピカです。

コンピュータ同士をつなぐネットワークってどうしてこんなにも問題が多発するんですかね。

スタンドアロ-ンで使っていた頃はハードウェアの問題が主でほぼそれだけを考えていればよかった。

しかしコンピュータ同士が繋がりネットワークを形成すると様々な知識とノウハウが必要になり、繋がらないとなると原因の特定にものすごい労力を必要とする場合があります。

ネットワークスペシャリストなんてコンピュータ資格の中でも指折りの難関資格といわれるくらい難しい資格もあるくらいネットワークってやっぱ複雑ですよね。

Windowsにおいても、プロトコルだけでもTCP-IPやSMBを筆頭に、Linuxとの接続用にSAMBA、かなり昔になるがNetBEUIやNetBIOS、IPX/SPXなんて単語がゴロゴロ。

まあ思いつく程度のものを適当に挙げただけですけど、あなたはわかりますかこの意味。私は正直よくわかりません。

まああまり知っていても現在意味がない言葉もありますが・・

そんななか、SMBについて復習がてら前回記事あたりからちょっと勉強しています。

ここの記事で、SMBV1は現在は非推奨になっているなんて話をしましたが。

そして、上記ではWSD(Web Services for Devices)が推奨でこれを使ったやり方を説明しました。

ところがその過程でまたエラーが

ネットワークエラー(0x80070035)

ネットワークウィンドウにネットワークコンピュータのアイコンは表示されるがそのなかの共有フォルダのアイコンが表示されない。

エラーコードは0x80070035、問題はネットワークパスが見つからない。ということだそうだ。

???なんのこっちゃ。・・・

ちなみに診断ボタンを押しても原因が特定できず、役立たずの診断プログラム。

じゃあ、ネットで調べてみるかということで調べたがなかなか回答が出てこない、しいて言えば「SMB 1.0/CIFS クライアント」をインストールすればアクセスできるようになるが、それでは本末転倒だ。

そのほかの修正手法候補

ファイアオールが原因

これはSMBが使用しているIPアドレスやポートが何らかの原因によりふさがれているためアクセスできない。

修正手法は「WindowsDefenderの設定」の中の「受信の規則」の中の「ファイルとプリンターの共有(SMB 受信) の プロパティ」から スコープタブを呼び出しリモートIPアドレス の設定を「ローカルサブネット」から「192.168.0.0/16」にする方法。

参考サイト

だがこれも効果がなかった。そもそもファイアウォールを切っても変化がなかった。

Ipv6を停止する方法

Windows10はIpv6とIpv4を併用しており、Ipv6を優先的に使うように設定してあるらしい。そのためIpv6を削除したら直ったという記事を見つけた

参考サイト

しかしこれも効果がなかった。

そして回答をやっと見つけた

セキュリティ保護されていないゲスト アクセスがWindows 10、1709以降無効にされたのが原因。

ここに詳細が・・

で本来は認証されたユーザーのみのアクセス設定にすればよいですが、やはり今までどおりの利便性を確保したいため認証されていないユーザーでもアクセスできるようにしたい。

というひともいるでしょう。しかしマイクロソフトはこの手法を推奨していません。

注:セキュリティ保護されていないゲスト ログオンを有効にすれば、この設定は、Windows クライアントのセキュリティを減少します。

と注意書きまで書かれています。そのあたりを周知してもなお使いたい場合は下記のようにするとエラーメッセージがでなくなります。

その方法がこちら

まずはレジストリエディタを起動して下記の項目まで行く。

コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
\LanmanWorkstation\Parameters

AllowInsecureGuestAuth」の項目をダブルクリック

設定値を0から1へ変更。

これで、解決するはず。ただしセキュリティーは低下します。

それだけは心得ておいてください。

まとめ

今回この「ネットワークパスが見つかりません」のエラーメッセージについて自分なりに推論を立て試したところ一つの仮説が浮かんできました。

それは「ネットワークパスが見つかりません」は実はエラーメッセージではなくマイクロソフトが意図的に出している注意事項ではないか。ということです。

まずは、2台のPCを用意し、

A機---クライアント機

B機---サーバー機

として

A機のレジストリ値の

コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
\LanmanWorkstation\Parameters \ AllowInsecureGuestAuth \

の項目が「0」(デフォルト値)である場合。

B機の共有の詳細設定の「パスワード保護共有」を無効にした場合。

このネットワークパスが見つかりません」のメッセージが出ます。

しかし

A機のレジストリ値の

コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
\LanmanWorkstation\Parameters \ AllowInsecureGuestAuth \

の項目が「0」(デフォルト値)のまま

B機の共有の詳細設定の「パスワード保護共有」を有効にするとこのネットワークパスが見つかりません」が出ず、資格情報の入力メッセージが出ました。

また逆に

A機のレジストリ値の「コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
\LanmanWorkstation\Parameters \ AllowInsecureGuestAuth \
の項目を「1」にし。

B機の共有の詳細設定の「パスワード保護共有」を無効にした場合。この「ネットワークパスが見つかりません」は出ずアクセスできます。

これはどういうことか

そもそもレジストリ値の「コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
\LanmanWorkstation\Parameters \ AllowInsecureGuestAuth \
の項目は何か。

これは、SMBV2においてゲストアカウントを無効にする設定。先ほど記したマイクロソフトのページにも書いてあるが Windows 10、1709 のバージョンの Windows Server バージョン 1709、および Windows Server 2019 は、SMB2 クライアントは次の操作をすることはできなくなりました。

  • リモート サーバーへのゲスト アカウントのアクセス
  • Guest アカウントを無効な資格情報が提供された後にフォールバック

Windows 10 Fall Creators Update (RS3)以降。この状況にわざとマイクロソフトはしている。

AllowInsecureGuestAuth」の値が「0」のときゲストアカウントが無効(デフォルト)

AllowInsecureGuestAuth」の値が「1」のときゲストアカウントが有効

ネットワーク最大の問題はセキュリティー

その意味において「ネットワークパスが見つかりません」が表示されるのはエラーメッセージではなく、(エラーメッセージと表記されてはいるが)

あなたのPCから繋ごうとしているサーバーPCの間はセキュリティーがないですよ。だから通信できないようにしています。だからサーバー機の「パスワード保護共有」を有効にしてセキュリティーを高めてください。

という思いが含まているように思いました。

これはあくまでも私のPCで検証した結果とマイクロソフトのHPを総合的に解釈し推論した結果であり違う可能性も否定できません。このあたりご了承願います。

いずれにしても、ネットワークの問題は上記以外にも多数あります。スタンドアロンの時代では考えらえなかったようなことが・・いや懐かしい・・!(^^)!

そしてディベロッパーのマイクロソフトも試行錯誤している様子がバージョンを重ねるごとの機能差を見ても伺えます。

今後もこう言ったことは増えていくのではないでしょうか

おおっとAmazonお得情報もみようぜ(^^♪