先日、メインマシンのHDを交換しWindowsXPを入れなおしました。その時は気づきませんでしたが、イントラネット上のパソの内、いくつか名前でアクセス出来ない事が分かりました。
そのマシンへ名前で「Ping」を打ってもエラー...次に、IPアドレスで「Ping」をすると、通ります。要するに、名前からIPアドレスに変換できてない...hostsには、ちゃんと書いているのに...次に、hostsのある場所は、あっているのかを調べてもおかしなところはありません。ちなみに、hostsの場所を指定しているレジストリの場所は、
「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters」
の「DataBasePath」です。
次に、システムの変換テーブルにhostsの内容が登録されているのか調べるため、「ipconfig /displaydns」を実行してみました。結果は、登録されてません。場所はあっているし、ちゃんと書いているし...
ネットで調べていくうちに、一つ見落としていることに気づきました。アクセス権です。それを調べると、サンプルファイルなどと、アクセス権が違いました。それを同じにして、hostsを即座に反映させるコマンド「ipconfig /flushdns」を実行し、「ipconfig /displaydns」で確認すると、システムに登録されました。その、方法です。
hostsファイルの「プロパティ->セキュリティ->詳細設定->子オブジェクトに適用するアクセス許可エントリを親から継承し、それらをここで明示的に定義されているものに含める」
を適応させます。
そして、Windowsをテストのため再起動...そして、チェックしました。名前でアクセスできるし、「Ping」も通りました。ひとまず安堵してます。
追伸
調べている途中で、ウイルスバスター2007のパーソナルファイアウォール(PFW)が時々Windows起動直後、起動に失敗することがありました。最初は、PFWがおかしいのかな?と思いましたので、PccToolでPFWを再インストしましたが一時的にしか直りません。前述の名前変換失敗の原因を調べるためhostsを弄るとまた、おきます。
結局、名前変換失敗が解決してからは起きてませんので、可能性ですが、名前変換失敗が原因でPFWの起動が失敗していたのかもしれません。