在命令行中,可以不带任何参数调用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 客户端网络服务器的列表,但是这WNetOpenEnum
并WNetEnumResource
没有让我获得到共享名称和文件夹的完整路径;它只会让我得到服务器名称。
我一直无法找到一种方法来获取net use
允许您定义的 Web 文件夹的 Web 客户端网络连接。
我确信必须有一个可以返回这些的 Windows API。如果有人知道,请指教。我当然希望避免使用穷人的解决方案,例如net use
通过命令行进程调用并解析其输出。
注意:我不想要使用 WMI 的解决方案。