Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 远程计算机驱动器信息不准确_C#_Windows Server 2008_Diskspace - Fatal编程技术网

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”),来源: