1

在命令行中,可以不带任何参数调用net use,获取本地计算机上的计算机连接列表。这提供了映射网络驱动器的列表,以及到使用该net use命令定义的本地网络共享和 Web 文件夹的网络连接。

可以按如下方式创建到本地网络共享的网络连接:

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

网络文件夹的网络使用连接

我能够通过使用 Windows API 获得 Web 客户端网络服务器的列表,但是这WNetOpenEnumWNetEnumResource没有让我获得到共享名称和文件夹的完整路径;它只会让我得到服务器名称。

我一直无法找到一种方法来获取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 回答