我正在尝试获取本地 Intranet 服务器上所有可用共享文件夹的列表。
System.IO.Directory.GetDirectories()
对于像 \\myServer\myShare
这样的路径工作正常,但是对于像这样的路径我遇到了异常\\我的服务器
:
Unhandled Exception: System.ArgumentException: The UNC path should be of the form \server\share.
有没有办法获取服务器的所有共享文件夹列表?最终,我正在寻找一种可以根据给定路径处理这两种情况的方法 - 返回给定服务器的所有共享列表和给定网络共享文件夹的所有子目录列表。
最佳答案
这是一个使用 System.Management
的技术(添加对此程序集的引用):
using (ManagementClass shares = new ManagementClass(@"\\NameOfTheRemoteComputer\root\cimv2", "Win32_Share", new ObjectGetOptions())) {
foreach (ManagementObject share in shares.GetInstances()) {
Console.WriteLine(share["Name"]);
}
}
需要适当的权限。
关于c# - 获取本地网络服务器上所有 UNC 共享文件夹的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3567063/