WMI Series 4:Win32類及其管理物件 (轉)

amyz發表於2007-11-07
WMI Series 4:Win32類及其管理物件 (轉)[@more@]

  類及其管理:namespace prefix = o ns = "urn:schemas--com::office" />

在上一節中,我們已經接觸到了訪問管理資訊中的WMI類名稱,如:

diskman = new ManagementClass("Win32_LogicalDisk")

”Win32_LogicalDisk”就是代表WMI類中的Win32_LogicalDisk類,在本節我們將瞭解到更多的關於WMI類的內容.WMI提供了一系列的WMI類供人員使用,透過這些WMI類,我們就可以進行類似於查詢等關於WMI的操作,由於WMI類涉及到的各個方面,所以就將其分7個子類,分別是:

WMI System Classes

WMI System Properties

Win32 Classes

CIM Classes

Standard Consumer Classes

MT Classes

MSMCA Classes

WMI C++ Classes

由於篇幅原因,在本節就只講解Win32_Classes裡面的類,其餘的分類可以自己去查詢MSDN中的內容.

Win32_Classes子類中的類位於cimv2名稱空間中,包含了大多數與系統操作相關的類,如前面所述的Win32_LogicalDisk類,後面將會介紹到的Win32_Process類等.在Win32_Classes子類裡面又細分為5個大,分別是:

Computer system hardware  (系統類)

Operating system  ()

Installed applications  (程式類)

WMI service management  (WMI服務管理類)

Performance counters  (計數器類)

下面就來一一介紹這些子類的作用及其主要類成員.

Computer system hardware

Computer system hardware這個子類中包含了與硬體資訊相關的類,如 Win32_CDROMDrive, Win32_DiskDrive, Win32_, Win32workAdapter等,透過使用這些類的例項化物件,我們就可以知道此計算機的硬體組成,此時此刻的硬體資訊,比如我們透過WQL方式查詢得到當前計算機的Win32_DiskDrive類的例項化物件,就可以知道當前計算機的器的名稱,它的裝置號,它的型號,以及它的容量大小等.以下是透過程式方式得到上述資訊:

*****************************************************

//MSDN中Win32_DiskDrive類的定義……

class Win32_DiskDrive : CIM_DiskDrive

{

  string ;

  string ;

  string ;

  uint64 ;

……

};

*****************************************************

//獲取本機磁碟驅動器的屬性

public static void FetchDiskDiveProperty()

{

  ManagementSearcher searcher = new   ManagementObjectSearcher(" * from Win32_DiskDrive");

  foreach (ManagementObject diskDrives in searcher.Get())

  {

  Console.WriteLine("diskDrives Name = " + diskDrives["Name"]);

  Console.WriteLine("diskDrives DeviceID = " + diskDrives["DeviceID"]);

  Console.WriteLine("diskDrives Model = " + diskDrives["Model"]);

  Console.WriteLine("diskDrives Size = " + diskDrives["Size"]); 

  }

}

*****************************************************

//上述程式碼是透過WQL方式實現管理物件的資訊查詢的,

*****************************************************

Performance counters

Operating system子類中包含了與作業系統相關的類成員,如Win32_COMApplication, Win32_Environment, Win32_DiskPartition, Win32_PageFile, Win32_BootConfiguration, Win32_Process等,透過使用上述類,我們就可獲得諸如當前系統環境設定,磁碟的分割槽資訊,系統的頁面的放置位置,系統的啟動資訊以及當前系統中執行著的執行緒的資訊.同Computer system hardware子類中的Win32_DiskDrive類一樣,我們也可以透過使用相同的方法得到其屬性(WQL方式查詢,同上),但是對於像Win32_Process這種除了屬性外,還有的類而言,是不能透過上述方式來直接其函式的,得透過別的物件間接的呼叫它的函式.具體怎麼去呼叫這種函式將會在下一節中給出例項說明的.


Installed applications

Installed applications子類中包含了系統中透過 Installer方式安裝的相關的類,如Win32_Binary, Win32_RegistryAction類等,透過使用這些類的例項化物件,我們就可以得到透過Windows Installer方式安裝的軟體的檔案說明,安裝用到過的檔案,寫入登錄檔的資訊等等.其物件的屬性的方法同上,即透過WQL方式查詢操作.

WMI service management

WMI service management子類中了有關管理WMI服務相關的類,這些類是用來管理WMI服務它自身的,並不是用來管理計算機系統或是組織的,它的任務包括WMI,管理WMI的操作,使其處於最佳的工作狀態.它的類成員不多,只有三個, Win32_MethodParameterClass, Win32_WMISetting, Win32_WMIElementSetting.

Performance counters

Performance counters子類包含系統效能計數器資料及格式化後的效能計數器資料的類的成員.如Win32_PerfFormattedData_PerfOS_Memory,Win32_PerfRawData_PerfOS_Memory,Win32_PerfFormattedData_PerfProc_Process, Win32_PerfFormattedData_Tcpip_TCP等等.我們可能透過這在的例項化物件得到我們想要得到的系統效能資料,並且能夠根據自己的需要將資料透過不同的形式顯示出來.


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-981179/,如需轉載,請註明出處,否則將追究法律責任。

相關文章