C# 远程计算机驱动器信息不准确
要获取远程计算机的可用磁盘空间,我使用以下代码C# 远程计算机驱动器信息不准确,c#,windows-server-2008,diskspace,C#,Windows Server 2008,Diskspace,要获取远程计算机的可用磁盘空间,我使用以下代码 ConnectionOptions options = new ConnectionOptions(); ManagementScope scope = new ManagementScope("\\\\SYSTEM_IP", options); scope.Connect(); SelectQuery query1 = new SelectQuery("Select * from
ConnectionOptions options = new ConnectionOptions();
ManagementScope scope = new ManagementScope("\\\\SYSTEM_IP",
options);
scope.Connect();
SelectQuery query1 = new SelectQuery("Select * from Win32_LogicalDisk");
ManagementObjectSearcher searcher1 = new ManagementObjectSearcher(scope, query1);
ManagementObjectCollection queryCollection1 = searcher1.Get();
foreach (ManagementObject mo in queryCollection1)
{
// Display Logical Disks information
Console.WriteLine(" Disk Name : {0}", mo["Name"]);
Console.WriteLine(" Disk Size : {0}", mo["Size"]);
Console.WriteLine(" FreeSpace : {0}", mo["FreeSpace"]);
Console.WriteLine(" Disk DeviceID : {0}", mo["DeviceID"]);
Console.WriteLine(" Disk VolumeName : {0}", mo["VolumeName"]);
Console.WriteLine(" Disk SystemName : {0}", mo["SystemName"]);
Console.WriteLine("Disk VolumeSerialNumber : {0}", mo["VolumeSerialNumber"]);
Console.WriteLine();
}
string line;
line = Console.ReadLine();
}
这给我的结果与服务器驱动器不完全匹配
- 它给了我B:/,C:/,D;/,E:/和Z:/,但在服务器上,我实际上有C:/、D:/、E:/、F:/、G:/、H:/、I:/、L:/和Z:/ 为什么我没有获得所有驱动器状态
- 驱动器空间信息也不准确;例如:对于D驱动器,我通过这个代码获得“429496725504字节”,这是400 GB,但实际上在我的服务器上D:/415 GB
我刚刚检查并发现运行此代码的服务器有B:/,C:/,D;/,E:/和Z:/和D:/有400 GB。这意味着,无论我提供的IP地址是什么,它都会记录我运行代码的计算机的详细信息。管理范围缺少一些路径部分,正确的路径应该是:
ManagementScope scope = new ManagementScope("\\\\FullComputerName\\root\\cimv2");
来源:@RowlandShaw我没有完全理解你的问题,但我已经用错误数据的可疑原因更新了我的问题。这行代码是精确的还是只是隐藏的数据<代码>管理范围范围=新的管理范围(“系统IP”,选项)代码>它被屏蔽了,我可能无法在这里提供实际的IP:(好的,我想知道这是代码还是被屏蔽的,因为如果它没有被屏蔽就错了;)我相信这会有帮助:
ManagementScope scope=newmanagementscope(\\\\FullComputerName\\root\\cimv2”)代码>,来源: