プチIT化

ネットワークに表示される・されないパソコンがあるのはなぜか調査した

こんばんは、わたあめです!

わたあめ
わたあめ
ネットワークの中にクライアントやサーバが表示されなくなった!

みたいな事ありませんか?最近、こういう事象を良く耳にするようになりました。ネットワークの場所に表示されているのは、同じネットワーク内にあるデバイス。例えば、以下のようなものです。

  • コンピュータ
  • スキャナ
  • プリンタ

だけど、これが今まで見えていたのに、一部しか見えないという現象が起こったりしているとのこと。「Windows7の時はみえていたの!」とよく言われます。(※厳密には違うのだろうけど、そう感じる人が多いみたいです。)

この現象がなぜ起きるのか?という事を調べてみました。それでは、いってみましょう!

ネットワークに表示される仕組み

ネットワーク上にあるパソコンは、ブラウズリストというリストにコンピュータ名などの情報が格納されているそうです。このリストはマスターブラウザというリストを管理する代表者のようなパソコンが存在していて、管理されています。このリストを読みにいって、同じネットワークに所属しているパソコンの一覧を表示しています。

通常はドメインコントローラがマスターブラウザになることが多い。
わたあめ
わたあめ
でも、なぜ表示されるPCとされないPCがあるの?

段階を追ってみていきましょう。

ブラウザマスターを確認する

まず、今自分が使っているパソコンがどこからどのリストを参照しているのか、調べてみることにしました。所属しているネットワークでブラウザマスターはどれか?を確認してみますブラウザマスターを確認するコマンドとして、nbtstatコマンドを使います。

ドメインコントローラがブラウザマスターになっていることが多いという情報があったので、サーバのIPアドレスを指定してnbtstatコマンドを使うと、「..__MSBROWSE__.」の文字が出てきました。

C:****>nbtstat -a 192.168.*.*

イーサネット:
ノード IP アドレス: [192.168.*.**] スコープ ID: []

NetBIOS リモート コンピューター ネーム テーブル

名前 種類 状態
---------------------------------------------
****** <00> グループ 登録済
..__MSBROWSE__.<01> グループ 登録済

このサーバがブラウザマスターということは分かりました。マスターはあるということで、この中のリスト(管理しているパソコンの一覧)を確認したいと、確認しようと思いましたが、どうやらそのコマンドが使えないようで、無理でした。(以下に述べます。)

net viewコマンド、使えなかった

ブラウザリストを表示できる「net view」コマンドを使もシステムエラーが発生してしまいました。「net view」コマンドを実行するも、以下のエラーが…。

システム エラー 384 が発生しました。

エラーの続きには、SMBv1プロトコルでないと対応していないようなことが書かれていました。SMBv2以上を使用するべきで、SMBv1プロトコルは古いので、使うことが推奨されていない、という事みたいです。端的に言うと新しいバージョンを使ってね、ということ。

SMBプロトコルとは、ファイル・プリンタ共有に使われるプロトコルのことです。

Windows10ではSMB1プロトコルは使えないようになっている。そのため、SMB1プロトコルを使っているこのコマンドも使えないということなのでしょうかね。ちなみに、以下のリンクが案内されました。

SMB1プロトコルを有効にすれば使えるということでしょうか。有効にして試してみたい気持ちもありましたが、セキュリティの観点からやめたほうが良いので今回はやめておくことにしました。

browstatコマンドも使えなかった

マスタブラウザ―があることはわかったので、そのリストを表示しようとおもって「browstat」を使おうとするも、Windows7から「nbtstat」になったようで使えなくなったようです。

C:\****>browstat view
'browstat' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

結局、net viewもbrowstatも使えないので調査が厳しい状況に、一旦詳しい調査は諦めることにしました。

原因考察

調べた結果、わたあめの中では以下と整理することに。(※ただの考えまとめです。)

Windows 10 バージョン1709以降はSMBv1は、デフォルトでインストールされないようになっていました。(後からプログラムと機能の所から機能を有効にできそうだけど。)これがきっかけで、表示されるPCとされないPCが出てきたのかな?という予想です。

わたあめ
わたあめ
これ!!!という答えが出ず、申し訳ない。

同じ環境でもWindows7のPCでは、net viewコマンドは問題なく使えて、リストの内容が表示されました。ネットワークのところでも所属している全パソコンが表示されました。

もしかしたら、SMBv1の機能を有効にすることで、ブラウズ機能がうまく機能するのかもしれないですね。ただし、セキュリティの観点からSMBv1プロトコルは推奨されていない、何かあってはいけないので、今回は運用対処することにしました。(次章に述べます。)

SMBv1の機能を有効にするには

セキュリティの観点からオススメしません&実際には試せていませんが、機能を有効にすれば使えるようになるかもしれません。おそらくの手順は以下です。

  1. [コントロールパネル]>[プログラム]
  2. [プログラムと機能]>[Windowsの機能の有効化または無効化]
  3. [SMB 1.0/CIFS ファイル共有のサポート]の左側の[+]ボタンで展開
  4. 必要な機能にチェックを入れる

わたあめの環境では、この機能を有効にすることではなく、運用対処しています。その方法は次章に。

運用対処

直接アドレスを打ち込むことで運用対処することにして、解決(してないけど)としました。どちらにしても、ネットワーク探索には時間がかかるし、エクスプローラーのアドレスバー部分にアドレスを打ち込んでバシっと即座に表示させることができます。

\\サーバ名(またはIPアドレス)

また、ネットワークからファイルサーバにアクセスしたいという要望だったりするので、ネットワークにいるパソコンの一覧をゲットする必要はあえてないのかなという思いもあります。

良く使うから、いちいちアドレスを打ち込みたくない!という場合は、ネットワークの割り当てをしても良いかもしれません。

さいごに

最後までお読みいただき、ありがとうございました。今回はなんだかスッキリズバッと解決記事とならず、私的にも残念です。複雑で難しいですね。それでは、また!

flier(フライヤー)