EternalWindows
共有管理 / 共有フォルダの役割

ネットワークに複数のコンピュータが繋がっている場合、 ときとして、別のコンピュータ上に存在するファイルを参照したい場合があります。 これを実現したい場合は、その別のコンピュータ上に共有フォルダを作成しておき、 そこに目的のファイルを格納しておくのが一般的でしょう。 このようにすれば、他のコンピュータは、 その共有フォルダに設定された共有名というものを知っているだけで、 共有フォルダのファイルにアクセスすることができます。

Windows Vistaで共有フォルダを作成する例を見ていきます。 まず、通常のフォルダを名前や作成する場所を問わず、自由に作成します。 共有フォルダに接続する側が知っておくべきなのは共有名であるため、 フォルダがどこに作成されているかは重要ではありません。 次に、フォルダの右クリックメニューからプロパティダイアログを表示させ、 「共有」タブを選択します。

この「共有」タブの中にある「詳細な共有」を選択すると、 次のようなダイアログが表示されます。

「このフォルダを共有する」にチェックを入れ、共有名を自由に入力します。 上記では、shareという名前を指定しているので、 このフォルダはshareという名前で共有されることになります。 つまり、このコンピュータの名前(またはIPアドレス)とshareという名前さえ知っておけば、 共有フォルダにアクセスすることができるようになったということです。

実際に共有フォルダへのアクセスを成功させるためには、 その共有フォルダがアクセス元のユーザーにアクセスを許可していなければなりません。 基本的に他のコンピュータからのアクセスは、Guestアカウントとして認証されることになりますから、 Guestアカウントが共有フォルダにアクセスできるように、共有フォルダのセキュリティを調整する処理が別途必要になります。 また、Windows Vistaで「ネットワークと共有センター」の「パスワード保護共有」が有効になっている場合は、 そのコンピュータのアカウント情報を知らなければ、共有フォルダにアクセスすることができないため、 これは無効にしておくのが一般的です。 Guestアカウントを無効にしている場合は、「パスワード保護共有」が有効になることに注意してください。

共有フォルダへアクセスするには、主に2通りの方法があります。 1つは、マイネットワークから対象のコンピュータを選択し、 そこから目的の共有名のフォルダにアクセスする方法です。 そしてもう1つは、エクスプローラのアドレスバーにUNCパスを指定する方法です。 UNCパスは、次のように指定します。

\\RemoteName\ShareName

上記のように、UNCパスは\\から始まります。 RemoteNameの部分には、実際に共有フォルダを公開しているコンピュータ名を指定します。 ShareNameの部分には、アクセスしたい共有フォルダの共有名を指定します。 これでEnterキーを押し、実際に指定したコンピュータと共有名が存在すれば、 目的の共有フォルダの中身が表示されることになります。 ちなみに、RemoteNameの部分にはローカルコンピュータの名前を指定することもできるため、 共有フォルダのテストを行いたい場合に、必ずしも複数のコンピュータを用意しておく必要はありません。 たとえば、ローカルコンピュータ上で\\127.0.0.1\shareと指定すれば、 リモートコンピュータからのアクセスと同じようにセッションが作成されますから、 リモートコンピュータからのアクセスを想定したテストを行うことができます。

共有フォルダに接続した場合は、その共有フォルダを公開するコンピュータにセッションが作成されます。 これを視覚的に確認したい場合は、管理ツールの「コンピュータの管理」から「共有フォルダ」を選択します。

左側のペインから「共有」を選択すると、右側のペインに共有フォルダのリストが表示されます。 「共有名」はそのフォルダに設定された共有名であり、 「フォルダパス」はそのフォルダがどこに存在するかを示すパスです。 共有フォルダへアクセスする側は、共有名を知っておけばよいため、 このパスを意識する必要はありません。 「クライアント接続数」は、この共有フォルダに接続しているユーザーの数が表示されます。 shareという共有フォルダでは1になっていることから、 現在このフォルダに接続しているユーザーが1人いることが分かります。 後の節で説明するように、ここに表示されている情報はNetShareEnumとNetConnectionEnumで列挙することができます。

共有フォルダに接続しているユーザーが1人以上いる場合は、 「セッション」からそのユーザーについての情報を確認することができます。 また、そのユーザーが何らかのファイルを開いている場合は、 「開いているファイル」から開かれたファイルを確認することができます。 これらは、NetSessionEnumやNetFileEnumを呼び出すことで取得することができます。 エクスプローラで共有フォルダをブラウジング(表示)している場合は、 そのフォルダを閉じることでセッションが削除されることになります。


戻る