2014-04-25 9 views
1

내가 코드원격 컴퓨터 드라이브 정보는

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 바이트"가 400GB이지만 실제로는 D :/415GB입니다.

어디로 가고 있습니까?

편집 - 가능한 이유

난 그냥 확인하고 서버가있는이 코드를 실행하고 있음을 발견했다 B :/C : /, D /, E : /와 Z :/및 D : /는 400GB입니다. 즉, 내가 제공하는 IP 주소가 무엇이든지간에 내 코드를 실행중인 컴퓨터의 세부 정보를 가져 오는 것입니다.

+0

는하지만 의심 내 질문을 업데이트 한 잘못된 데이터의 이유. – Zerotoinfinity

+0

이 라인 정확한 코드입니까 아니면 그냥 마스크 된 데이터입니까? 'ManagementScope scope = new ManagementScope ("\\\\ SYSTEM_IP", options);' – Gusman

+0

마스크가되어있어 실제 IP를 여기에 제공하지 못할 수도 있습니다 : ( – Zerotoinfinity

답변