Windows TIPS
[Install&Setup]
  Windows TIPS TOPへ
Windows TIPS全リストへ

共有リソース・アクセス時にパスワード入力を求められる「IPC$」とは?

デジタルアドバンテージ
2001/05/15

 Windows 9x/Meマシンのエクスプローラを使って、Windows NT/2000マシンの共有リソースへ接続しようとした場合(サーバ名をクリックした場合)、時として次のようなダイアログが表示されることがある。『「\\サーバ名\IPC$」へ接続するためのパスワードを入力してください』というダイアログである。ユーザーは、通常ならば、そのサーバの共有リソースの一覧が表示されることを望んでいるのだろうが、このようなダイアログが表示された場合にはいったいどうすればよいのだろうか?

 このダイアログは「IPC$」というリソースを使用するために、パスワードを要求しているもののようであるが、実際にはどんなパスワード(たいていのユーザーは、パスワードと問われれば、Windows 9x/Meにログインしたときのパスワードだと考え、それを使うだろう)を入力しても、「パスワードが違っています」と表示され、またこのダイアログが表示されてしまう。Administratorのパスワードや、その他のアカウントのパスワードなどを試してみても接続は成功せず、たいていのユーザーはそのうちあきらめて[キャンセル]をクリックすることになる。それにしてもこのダイアログはいったい何なのであろうか?

IPC$へのパスワード要求ダイアログ
[ネットワーク コンピュータ]に表示されているコンピュータ名をクリックすると、場合によってはこのような「ネットワーク パスワードの入力」ダイアログボックスが表示されることがある。
  単にコンピュータ名をクリックしただけなのに、このようにパスワードを要求されることがある。
  接続先のリソース名。「\\サーバ名\IPC$」というリソースへ接続しているようである。
  パスワードの入力フィールド。何のパスワードを入力すればいいのだろうか?
  いったん入力したパスワードを保存しておけば、今後は再度入力する必要はなくなるのだが、実際には何度入力してもまたこのダイアログが表示されるので、保存することができない。

 そもそも「IPC$」とは何なのだろうか? ネットワーク コンピュータをクリックしただけなのに、どうしてこのようなリソースに対するパスワードが要求されるのだろうか? この原因を知るには、Windows ネットワークにおけるファイル共有やリソース一覧の仕組みについて知っておく必要がある。

 もっとも仕組みといってもそう難しいことは何もない。クライアント・マシン上でサーバのアイコンをクリックすると、まず最初にそのサーバの「IPC$」というリソースに接続するが、そのときにユーザー認証が行われるので、パスワードが要求されているというだけの話である。「IPC$(Inter-Process Communication、プロセス間通信)」とは、Windowsネットワークにおいて、そのマシンの公開リソースの一覧を取得したり、以後のリソースの使用に対する準備(「SMBのセッション・セットアップ」という。SMBとは、Server Message Blockの略で、Windowsネットワークにおけるファイル共有プロトコルのこと)を行うために使われるものであり、リソース(ファイルやプリンタ)を公開しているマシンは必ずこのリソースを持っている。

 Windowsネットワークでは、リソースを使用する場合、必ず「ユーザー名」と「パスワード」が必要となるが、それはこの「IPC$」でも例外ではない。つまりここでユーザーに入力が求められているパスワードは、ユーザー自身がWindows 9x/Meにログオンするときに使ったユーザー名に対するパスワードなのである。具体的には、以下のようにMS-DOSプロンプト上でnetコマンドを使えば確認することができる。

C:\>net config
コンピュータ名                 \\MYPC01
ユーザー名                     SUZUKI ‥‥‥‥‥
ワークグループ                 WORKGROUP
ワークステーションのルート ディレクトリC:\WINDOWS

ソフトウェアのバージョン       4.10.1998
リダイレクタのバージョン       4.00
コマンドは正常に完了しました。

 この のところに表示されているのがリソースの接続に使われる「ユーザー名」である。クライアントからは、この「ユーザー名」と、ログイン時に入力された「パスワード」(パスワードは一度入力されれば、以後はパスワードリストに保存されているので、再度入力する必要はないだろう)を使って、サーバの「IPC$」リソースへの接続を試みる。

 このような要求を渡されたサーバ側では、ユーザー アカウント・データベースから該当する名前を検索し、パスワードが一致しているかどうかを確認している。しかし、このユーザー名が見つからないときは、次は「Guest」アカウントと空のパスワードで再接続を試みる。もしWindows NT/2000側でGuestアカウントが有効になっていて、しかもパスワードが空に設定されていれば、接続は成功し、公開されているリソースの一覧などが表示される。以上いずれの方法でも接続が失敗すると、再度パスワード入力を促す画面がクライアント側に表示される。このような仕組みになっているため(ユーザー名の部分は変わらないので)、1度失敗すると、何度やっても成功することはない。

 この問題の解決方法としては、以下の2通りの方法が考えられるが、いずれにしろ、クライアントとサーバで使われるユーザー名を一致させるということには変わりない。

■Windows 9x/Meにログオンするときに使うユーザー名とパスワードを、サーバ側に登録する

 これは、ローカルにログオンするときに使ったユーザー名とパスワードを、サーバ上に登録されているものに一致させる方法である。正確には、「Windows ログオン」で使うユーザー名/パスワードではなく、「Windows ネットワーク クライアント」で使用するユーザー名/パスワードが一致していればよい。

■Windows 9x/Meにログオンするユーザー名を、サーバ側に登録されているものにする

 原因は、サーバ側にユーザー名とパスワードが登録されていないのが原因なので、サーバに登録されている正しいユーザー名でログオンすればネットワークに接続できるようになる。

 「Windowsログオン」と「Windowsネットワーク クライアント」とは、Windows 9x/Meのネットワーク コントロールパネルにある、[優先的にログオンするネットワーク]で表示されている項目である。

 「Windowsログオン」のユーザー名は、Windows 9x/Meマシンのデスクトップ環境など(ユーザー・プロファイル)を区別するために使用される。複数のユーザー(例:AさんとBさん)が1台のWindows 9x/Meマシンを使う場合、デスクトップ環境やアプリケーション環境はこのWindowsユーザーごとに個別に管理される。各ユーザーがWindowsにログオンするときに使ったパスワード情報は、パスワードリスト・ファイル(*.PWL)に保存されている(例:ユーザー名がAなら、A.PWLというファイルに記録される)。このWindowsログオンのユーザー名とパスワードは、最初にWindows 9x/Meマシンにログオンするときにユーザーが自由に決めることができ、入力されたパスワードは、すぐにパスワードリスト・ファイルが作成されて、そこに記録される。

 「Windowsネットワーク クライアント」のユーザー名は、ネットワーク上の公開リソースを使用する場合に使われるユーザー名である。これは先程のWindowsログオンのユーザー名と違い、リソースを公開しているサーバの管理者が決めるものであり、各ユーザーはそれを指定しなければならない。いったんリソースへの接続が成功すると、そのリソース名とユーザー名、パスワードの組が先程のパスワードリスト・ファイルに記録され、以後はいちいちユーザーが指示しなくても自動的に接続されるようになる。

Windowsログオンとネットワーク ログオン
ネットワーク上のサーバのリソースを使うためには、まずWindowsにログオンし、その後ネットワーク上のサーバにログオンする必要がある。
  ここには2つしかないし、どちらを優先にしても効果は同じだが、Netwareなどが混在したネットワーク環境では、ここにさらに表示が増え、どのネットワークに最初にログオンするかを決めることができる。
  「Windowsネットワーク クライアント」は、ネットワーク上のリソースを使うためのログオン。
  「Windowsログオン」 は、ローカルのWindowsマシンのユーザー・プロファイルを切り替えるためのログオン。

 なお、「Windows ログオン」で使うアカウント情報と、「Windows ネットワーク クライアント」で使うアカウント情報が混乱して分からなくなってしまったような場合は、パスワードリスト・ファイル(*.PWL)を消去して、もう1度システムにログオンし直すようにしたほうがいいかもしれない。たとえばユーザー名が「testuser」ならば、Windows 9x/MeのWindowsのディレクトリ(デフォルトではC:\WINDOWS)に、「TESTUSER.PWL」というファイルがあるはずなので、これを削除してから再度ログインし直すようにすればよい。最初に「Windows ログオン」のユーザー名/パスワードを問い合わせるダイアログが現れ、ネットワークに接続した時点で「Windows ネットワーク クライアント」のユーザー名/パスワードの入力が求められる(ただしWindowsログオンのものと同一ならば自動的に接続される)。End of Article

「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間