マイネットワークでコンピュータの一覧が見えないとき | 鯖管Changelog。--アメブロ支店

鯖管Changelog。--アメブロ支店

主に地方のサーバ管理者の日常と管理記録、トラブルサポート事例、趣味のPC自作に関する情報、ほか雑談などを、気の向いたときに好きなように、勝手気ままに書きなぐるブログです。

主に会社のRedhatLinux9やRHEL/CentOS、その他Solarisなど管理しています。

Windowsでワークグループを使ったファイル共有を行っていると、突然「ネットワーク名が見つかりません」とか「○○へのアクセス権がありません」(○○はワークグループの名前)と言われて、ネットワークコンピュータ内にLAN内のWindowsマシンが表示できなくなることはありませんか?

あるいは逆に「ネットワークコンピュータには見えているのに、共有が開けない」なんてことも結構起こりがちですね。

これについては、マイクロソフトネットワークがこれまでに拡張されてきた歴史やその時々のWindowsおよびWindowsサーバへの実装のばらつきなど色々と悩ましい原因が存在するのですがそれを説明していると一冊の本になってしまいますので、割愛します。

詳しく知りたい方は、こちらの本をオススメします。良書です。

簡単に説明すると、マイクロソフトのネットワークファイル共有(ドメイン構成をとらない「ワークグループ」)では、LAN内のあるPCが、社内LAN(いわゆるマイネットワーク)に存在するPCの名前と、共有(フォルダやプリンタなど)の一覧(ブラウズリスト)を保持しています。このときこのPCを「ブラウズマスター」あるいは「マスターブラウザ」と呼びます。(訂正:ブラウズマスタは共有リソースの一覧を保持しません。)

どのPCがこのブラウズマスターになるか、については、OSのタイプ(クライアントPCなのかサーバなのか)、インストールされているアプリケーション(SQLサーバの有無など)によって決まる順位によって、随時選択(選任)しなおされます。社内に一台でもサーバ系Windowsマシンがあれば、ほぼそのマシンがブラウズマスターになりますが、社内のPCがたとえばすべてWindows XP Proだ、などという場合は、「ブラウズマスター」がコロコロ変更される事態が起こります。

このようにして、たまたま調子の悪いWindowsPC(ブラウズ要求にこたえられないPC)がブラウズマスターになってしまうと、「社内のPCがネットワークコンピュータから見えない」などといった現象が起こることになります。

一般的には、社内でファイル共有を行う際、ファイルサーバとなるPCを少数決めてそこにデータを保存するように構築します。そして、そのマシンはほぼ起動しっぱなしという運用が普通です。(よね?)

であれば、上記の説明にあった「ブラウズマスター」が常に決まったPCであれば問題は解決しそうです。

ということでここでは、ファイル共有に問題が発生した場合に
「どのPCがブラウズマスターなのか?」
を調べる方法と、
「ブラウズマスターに必ず立候補するPC/絶対にブラウズマスターに立候補しないPCを設定する」
方法の二つを書いてみます。

1.「ブラウズマスター」を特定する。
おあつらえ向きのフリーソフトがあります。その名を"DomainView-- "と言います。
使い方は簡単。ダウンロードして展開してdomvw.exeを実行し、ワークグループ名をクリックするだけです。クライアント数が多いと少し時間がかかるかもしれません。

DomainView
「ブラウザ」欄に「マスタ」とあるのがブラウズマスタ
「バックアップブラウザ」が表示されることもある

この画面では、\\SERVERというマシンがブラウズマスタであることが分かります。
2.「ブラウズマスタ」を固定する(正確には、マスタにならないように設定する。)
通常、ワークグループ型ネットワークでは、自分がブラウズマスタになるかどうかは、そのマシンを起動した後に実行される「選任」プロセスの結果で決まります。LAN内のPCが自分の環境に応じた「優先度」の値を持って「立候補」し、優先度がもっとも高いものがブラウズマスタに選ばれます。通常、サーバ系OSの優先度は、クライアントOSがいくら逆立ちしてもかなわない数値になっているため、社内にサーバOSがあり、さらにドメインコントローラなどを努めていた場合には、否応なしにそのマシンに決まります(ということになっています)。

しかし、社内にクライアントOSしかない場合には、この優先度が伯仲することが多く、PCの電源がON/OFFされるたびにコロコロとブラウズマスタが変わってしまう事態となります。

上で述べたブラウズマスタへの「立候補」を行うかどうかはレジストリの設定で決まっており、通常はAutoに設定されています。このレジストリの値をYesにすれば常に立候補。Noにすれば、立候補しないことになります。(立候補しないゆえに、マスタには絶対選ばれない)

設定については、いつもお世話になっている「WindowsXP スマートチューニング」 にも解説があります。

簡単に記載すると、レジストリエディタで

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentConrolSet \ Services \ Browser \ Parameters

までたどります。Parameters内のキーから「MaintainServerList」を探し、ダブルクリックします。
値が表示されますので、ブラウズマスタにしたい場合はYes、したくない場合はNoにします。

変更したら「OK」でレジストリエディタを終了し、Windowsを再起動します。

以上が手順です。なお、絶対にブラウズマスターにならない設定としては、上記のキーをNoにすることでかまいませんが、キーをYesにしてもブラウズマスターの選任に「立候補」するだけですので、必ずブラウズマスタになるわけではないことに注意が必要です。ブラウズマスターを一意に固定するなら、ブラウズマスター候補機以外のPCについてすべてNoに設定します。

とはいえそれもなかなか大変な話ですので、対症療法としては先ほどDomainView--で、意図せずマスターになってしまったPCを特定し、そのPCに対してレジストリ操作する、という対処でよいと思います。

そのほか参考になりそうな本を探してみました。
CoRichブログランキング