2015-05-12 4 views
0

Я пытаюсь подключиться (локально), чтобы получить список виртуальных машин и их свойств. Я взломал код, который я нашел, но мой код не подключается, поэтому я могу только предположить, что строка подключения неверна.Что указать для Local ManagementScope

Использование Server 2012 Hyper-V

private void listVirtualMachines() { 

    ManagementScope manScope = new ManagementScope(@"\\LOCALHOST\root\cimv2"); 

     if (manScope.IsConnected) { 

      ObjectQuery queryObj = new ObjectQuery("SELECT * FROM Msvm_ComputerSystem"); 

      // connect and set up our search 
      ManagementObjectSearcher vmSearcher = new ManagementObjectSearcher(manScope, queryObj); 

      ManagementObjectCollection vmCollection = vmSearcher.Get(); 

      // loop through the machines 
      foreach (ManagementObject vm in vmCollection) { 
       // display VM details 
       LogString(vm["ElementName"].ToString()); 
       LogString(vm["EnabledState"].ToString()); 
       LogString(vm["Description"].ToString()); 
      } 
     } else { 
      //WE END UP HERE EVERY TIME! 
      LogString("Cannot Connect to ManagementScope!"); 
     } 

    } //funct 
+0

'manScope.Connect();' является отсутствует. –

+0

Упс. Спасибо за это. Я все еще считаю, что ManagementScope ошибается. Я получаю исключение для каждого утверждения «... Недопустимый класс» –

ответ

0

В Server 2012, Msvm_ComputerSystem находится в пространстве имен WMI root\virtualization\v2 так что код должен быть:

ManagementScope manScope = new ManagementScope(@"\\.\root\virtualization\v2"); 
manScope.Connect();  
+0

Спасибо за ваш ответ. Я должен делать что-то еще неправильно: я все еще получаю «Необработанное исключение ...» «System.Management.ManagementException» произошел в Sysetm.Management.dll/Дополнительная информация: Недопустимый класс –

+1

@EnigmaPlus версия пространства имен изменена для Server 2012, отредактированный ответ – stuartd

+0

Brilliant. Мне бы хотелось узнать, как вы это узнали? Я считаю, что документация Microsoft является абсолютным кошмаром. –

Смежные вопросы