1

コマンド ラインから、パラメーターを指定せずに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 を使用するソリューションは必要ありません。

4

1 に答える 1

0

Win32_LogicalDisk クラスには必要な情報が含まれているはずです。レジストリを試していない場合は、両方の方法の例が Get-or-List-Network-shares-in-CSharp-using-WMI の記事にあります。

リンク

https://msdn.microsoft.com/en-us/library/aa394173(v=vs.85).aspx

http://www.morgantechspace.com/2014/02/Get-or-List-Network-shares-in-CSharp-using-WMI.html

于 2015-01-23T15:15:54.430 に答える