我想通过网络为 C# 中的机器访问远程机器上的驱动器/文件夹/子文件夹/文件。
我知道为此使用 WMI。但是,由于安全权限,WMI 可能无法在远程计算机上执行。
在 C# 中枚举远程计算机的文件夹/子文件夹/文件的替代方法是什么。
谢谢!加根
UNC 路径上的共享文件夹可以像本地目录一样枚举,使用 System.IO命名空间中的类,如Directory.EnumerateFiles.
foreach (var file in Directory.EnumerateFiles(@"\\machine\c$"))
{
}
Run Code Online (Sandbox Code Playgroud)
但是,正如您所说,存在凭据问题。如果您需要指定不同的凭据来访问共享,则必须针对远程计算机进行身份验证。幸运的是,这个答案中有一个很好的解决方案,用于创建临时网络连接:
using (new NetworkConnection("\\machine\c$", new NetworkCredential("username", "password")))
{
foreach (var file in Directory.EnumerateFiles(@"\\machine\c$"))
{
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12310 次 |
| 最近记录: |