共有リソースへの接続

net use コマンドを使ってサーバに接続する場合、ユーザ認証で用いるアカウントや接続先の共有リソースは任意に指定することが可能である。しかしエクスプローラからこれを行う場合は仕様上幾つかの制限がある。ひとつはユーザ認証を行うアカウントが下記の順で決められてしまうことである。

(1) 接続先サーバのログオン情報がデータベースに存在する場合、そのアカウントで接続する。
(2) クライアントマシンのログオンアカウントで接続を試みる。
(3) Guest アカウントで接続を試みる。
(4) ログオンダイアログが表示。

これは任意のアカウントで接続したくても (1)~(3) のいずれかの条件が満たされていると、そちらが優先されてしまうことを意味する。次に接続先が IPC$ という特殊な共有リソースに固定されるという制限。これは特定の共有リソースが一部のユーザのみアクセス可能となっていて、それ以外のリソースはゲストアクセスが許可されているような場合に問題を生じる。特定のフォルダに許可ユーザのアカウントでユーザ認証を行いたくても。エクスプローラは IPC$ にアクセスし、Guest アカウントで接続を確率してしまうのである。これらの制限を回避したい場合は net use コマンドを使って手動でサーバに接続するしかない。



任意のアカウントで共有リソースに接続

任意のアカウントを用いて共有リソースに接続したい場合、以下のコマンドを実行する。

net use \\server1\share1 /user:user1 password1

ネットワークドライブとして利用したければドライブ名も指定する。

net use X: \\server1\share1 /user:user1 password1

コマンドの詳細は HELP オプションで参照可能。

net help use


再接続時のユーザ認証(ログオン情報のキャッシュ)

接続に成功したアカウントはログオン情報がローカルにキャッシュされる。これはログオフするまで有効であり、仮にすべての接続を切断した場合でも再接続時にはキャッシュ情報が参照されるため、ユーザ名やパスワードを省略することが可能である。もちろん明示的に他のアカウントを指定した場合はそのアカウントでユーザ認証が行われる。キャッシュ情報は explorer.exe が管理しているらしいが、外部からの参照及び削除方法は不明。

> net use \\server1\ipc$ /user:user1 password1 .... ユーザ名とアカウントを指定して接続
> net use \\server1\ipc$ /delete               .... 一旦接続を解除
> net use \\server1\ipc$ /user:user1           .... ユーザ名のみを指定して再接続
> net use \\server1\ipc$ /delete               .... 一旦接続を解除
> net use \\server1\ipc$                       .... アカウントを省略して再接続



再接続時のユーザ認証(データベース)

Windows XP にはキャッシュとは別にアカウントをサーバごとに登録しておく機能が用意されている。ログイン情報の管理ツールは以下のコマンドで呼び出す。

control keymgr.dll

データベースに登録されているサーバは接続時に自動ログオンされ、これは再ログオン後も有効である。別のアカウントでログオンしたい場合はデータベースからログオン情報を削除しておく必要がある。

※ 共有リソースに対するアカウントの保存は Professional Edition のみのようである。Home Edition ではログオンアカウントまたは Guest アカウントのアクセスが許可されていないサーバに対して、有効なアカウントで手動ログオンする必要があるようだ。









最終更新:2008年09月30日 07:06