【发布时间】:2015-01-23 14:46:25
【问题描述】:
在命令行中,可以不带任何参数调用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.
映射的网络驱动器
我可以通过调用 DriveInfo.GetDrives() 来获取 C# 中的映射驱动器。
网络共享的网络使用连接
我能够获得通过 PInvoke 和使用 Windows API NetUseEnum 创建的网络共享的连接。
网络文件夹的网络使用连接
我能够通过使用 Windows API WNetOpenEnum 和 WNetEnumResource 获得 Web 客户端网络服务器的列表,但这并不能让我获得到共享名称和文件夹的完整路径;它只会让我得到服务器名称。
我无法找到一种方法来获取到 net use 允许您定义的 Web 文件夹的 Web 客户端网络连接。
我确信一定有可以返回这些的 Windows API。如果有人知道,请指教。我当然希望避免使用穷人的解决方案,例如通过命令行进程调用net use 并解析其输出。
注意:我不想要使用 WMI 的解决方案。
【问题讨论】:
标签: c# sharepoint webdav net-use web-folders