コマンド ラインから、パラメーターを指定せずにnet useを呼び出し、ローカル コンピューター上のコンピューター接続の一覧を取得できます。これにより、マッピングされたネットワーク ドライブのリストと、コマンドを使用して定義されたローカル ネットワーク共有および Web フォルダーへのネットワーク接続が提供されますnet use
。
次のように、ローカル ネットワーク共有へのネットワーク接続を作成できます。
net use \\MyComputerName\MyShareName
次のようにして、Web フォルダ (WebDAV や SharePoint など) へのネットワーク接続を作成できます。
net use http://MySharePoint:12345/Shared%20Documents/MyFolder
呼び出すnet use
と、次のように接続が一覧表示されます。
C:\>net use
New connections will be remembered.
Status Local Remote Network
-------------------------------------------------------------------------------
Unavailable Q: \\OldServer\OldShare Microsoft Windows Network
OK U: \\MyServerName\Name of Shared Folder
Microsoft Windows Network
Unavailable W: http://MyOldSharePoint Web Client Network
X: \\MyWebDavServer@12345\DavWWWRoot
Web Client Network
\\MySharePoint@12345\Shared%20Documents\MyFolder
Web Client Network
OK \\MyComputerName\MyShareName
Microsoft Windows Network
OK \\HostName\ShareName Microsoft Windows Network
The command completed successfully.
マップされたネットワーク ドライブ
を呼び出すことで、C# でマップされたドライブを取得できますDriveInfo.GetDrives()
。
ネットワーク共有へのネット使用接続
PInvoke と Windows API を使用して作成したネットワーク共有への接続を取得できますNetUseEnum
。
Web フォルダへの Net Use 接続
Windows APIWNetOpenEnum
と を使用して、Web クライアント ネットワーク サーバーのリストを取得できましWNetEnumResource
たが、共有名とフォルダーへのフル パスは取得できません。サーバー名を取得するだけです。
net use
定義できるWeb フォルダへの Web クライアント ネットワーク接続を取得する方法を見つけることができませんでした。
これらを返すことができる Windows API が必要であると確信しています。分かる方、アドバイスお願いします。net use
コマンドラインプロセスを介して呼び出し、その出力を解析するなど、貧弱な解決策を使用する必要は絶対に避けたいと思います。
注: WMI を使用するソリューションは必要ありません。