.NET(C#):ManagementQuery類型構建WMI中的WQL選取查詢和事件查詢

來源:互聯網
上載者:User

首先瞭解一下WMI.NET中查詢類的結構:

 

基礎類是System.Management.ManagementQuery,代表抽象的管理查詢類型,它繼承ICloneable。ManagementQuery是抽象類別,它有兩個重要的屬性:QueryLanguage和QueryString(都是字串類型),分別代表查詢語言和查詢字串。雖然ManagementQuery類型是抽象類別,但其內部建構函式的查詢語言就是WMI中的WQL語言:

 

因此無論是使用ManagementQuery的繼承類ObjectQuery還是WqlObjectQuery都可以快速構建一個WQL查詢的ManagementQuery對象:

var query = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");

 

當然用SelectQuery去構建選取查詢也是可以的。SelectQuery相對ManagementQuery增加了ClassName屬性代表類名稱,Condition屬性代表條件,SelectedProperties屬性代表要選擇的屬性名稱。

 

比如上面的用ObjectQuery構建的查詢Win32_OperationSystem的WQL查詢用SelectQuery這樣構建:

var selQuery = new SelectQuery("Win32_OperationSystem");

 

當然可以有更複雜的查詢,比如分別用ObjectQuery和SelectQuery查詢可移動磁碟的名稱:

//用ObjectQuery和SelectQuery

var objQuery = new ObjectQuery("SELECT Name FROM Win32_LogicalDick WHERE DriveType = 2");

var selQuery = new SelectQuery("LogicalDick", "DriveType = 2", new string[] { "Name" });

 

 

事件查詢也類似,可以使用直接繼承與ManagementQuery的EventQuery類型寫事件查詢WQL:

var eveQuery = new EventQuery("SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE TargetInstance ISA Win32_Process");

 

或者用WqlEventQuery類型(繼承自EventQuery類型)。這個類有EventClassName屬性代表事件類型名稱。Condition代表條件。和WithinInterval代表等待時間(WQL中的WITHIN),當然還有許多更進階的WQL查詢元素,讀者可以參考:http://msdn.microsoft.com/zh-cn/library/system.management.wqleventquery。

 

比如上面的EventQuery對象用WqlEventQuery重寫:

var wqlEveQuery = new WqlEventQuery("__InstanceCreationEvent", TimeSpan.FromSeconds(10), "TargetInstance ISA Win32_Process");

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.