2014年12月4日木曜日

[Windows] 共有ドライブのサブフォルダに、ドライブを割り当てる

■ サブフォルダにドライブを割り当て

エクスプローラーからネットワーク ドライブを割り当てる場合は、共有ドライブおよび共有フォルダーに対する割り当てしかできません。しかしサブフォルダーにドライブを割り当てる方法はあります。

コマンドでドライブを割り当てれば、サブフォルダにドライブを割り当てられます。
(例:Z ドライブとして割り当てる場合)
> NET USE Z: \\ServerName\ShareName\FolderName /USER:DomainName\UserId MyPassword

■ 同じサーバについて複数の割り当て

さらに同じサーバにある複数のフォルダにドライブを割り当てるとエラーになります。これはWindowsのクライアント側の制約で、複数の割り当てのセッションを区別できないためである様子。

・エラーメッセージ
システム エラー 1219 が発生しました。
同じユーザーによる、サーバーまたは共有リソースへの複数のユーザー名での複数の接続は許可されません。サーバーまたは共有リソースへの以前の接続をすべて切断してから、再試行してください。


まず行う対策としては、使用中のセッションを閉じてやれば良い。

> NET USE Z: /DELETE

しかし、複数のフォルダに割り当てる方法はあります。例えばIPアドレスやサーバ名で使い分けると同じサーバと見なされません。

> NET USE X: \\ServerName\ShareName\FolderName1 /USER:DomainName\UserId
> NET USE Y: \\ServerName.DomainName\ShareName\FolderName2 /USER:DomainName\UserId
> NET USE Z: \\192.168.x.x\ShareName\FolderName3 /USER:DomainName\UserId


もっと割り当てる場合は、サーバ名を複数用意したり、サーバのIPアドレスを追加、hostsファイルに同じサーバへの名前を複数作成するなどで可能となる。

■ 参考資料

Windows XP でネットワーク ドライブの接続および切断を行う方法
http://support.microsoft.com/kb/308582/ja

第21回 ファイル共有プロトコルSMB/CIFS(その2) (3/3)
http://www.atmarkit.co.jp/ait/articles/0412/08/news096_3.html