c# - 如何从远程计算机的驱动器获取可用的 FreeSpace?

标签 c# wmi wmi-query

我正在尝试从远程计算机的 D 盘获取 FreeSpace。

最后,我得到一个 ManagementException 未被用户代码“未找到”处理

这是给我错误的行:fs = m["FreeSpace"].ToString();

这是我的代码:

ConnectionOptions oConn = new ConnectionOptions();

oConn.Username = "username";
oConn.Password = "password";
oConn.Authority = "ntlmdomain:XXX";

ManagementScope scope = new ManagementScope("\\\\Remote_Computer\\root\\CIMV2", oConn);

scope.Connect();

ObjectQuery query = new ObjectQuery("SELECT DeviceID, VolumeName FROM Win32_LogicalDisk where DeviceID = 'D:'");

ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);

ManagementObjectCollection queryCollection = searcher.Get();

foreach (ManagementObject m in queryCollection)
{
      //error happens here
      fs = m["FreeSpace"].ToString();

      freeSpace = Convert.ToInt64(fs);
}

最佳答案

我发现了问题所在。

我的查询是错误的。我将其替换为:

"SELECT FreeSpace FROM Win32_LogicalDisk where DeviceID = 'D:'"

问题解决了。

关于c# - 如何从远程计算机的驱动器获取可用的 FreeSpace?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12603641/

相关文章:

c# - 我需要保留对 FileSystemWatcher 的引用吗?

c# - 如何使用 C# 在远程 Windows 计算机上创建共享文件夹?

sql - WQL 不支持 TOP - 需要解决方法

c++ - 检索 MS Windows 平台的操作系统名称

c# - 从DataTable中删除具有相同列值的行并添加相应的值

c# - ASP.Net Core AzureAD 身份验证有效,但登录和注销无效

c# - 如何将外部 XML 包含到 XML 文件中——两个文件应该是什么样子

vbscript - wscript.sleep在错误的时间发生

c# - 如何在同一台远程机器中有效地复制 UNC 路径