2012-10-04 60 views
0

如何列出註冊到Msvm_ComputerSystem類的WMI事件。我創建了一個虛擬機,並有一個事件registerpoweronEvent。現在我想列出已註冊的事件。請在此幫忙。如何獲取WMI事件?

回答

0

您可以使用此代碼嘗試 - 基於ObjectQuery

  VMState vmState = VMState.Undefined; 
      var connectionOptions = new ConnectionOptions(); 
      connectionOptions.Username = userName; 
      connectionOptions.Password = password; 

      var managementScope= new ManagementScope(string.Format(@"\\{0}\root\virtualization", hostServer), connectionOptions); 
      manScope.Connect(); 

      var objectQuery= new ObjectQuery("SELECT * FROM Msvm_ComputerSystem"); 
      var managementObjectSearcher = new ManagementObjectSearcher(managementScope, objectQuery); 
      var collection = managementObjectSearcher.Get(); 

      foreach (var managementObject in collection) 
      { 
       Console.WriteLine(managementObject["Yourkey"].ToString()); 
      } 
+0

我試圖那朵代碼,但我得到以下異常:Exception.System.Management.ManagementException了未處理的HResult = -2146233087未找到。我沒有明白你爲什麼使用VMState。 –