国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - 利用C#操作WMI指南

利用C#操作WMI指南

2021-12-10 14:41C#教程網 C#

WMI提供了一套內置在Microsoft Windows操作系統中的豐富的系統管理服務,可以在有大量的應用程序、服務和設備的系統中提供全方位的管理功能。它允許應用程序的開發者,使用簡單的、一致的機制,去查詢企業中的任一臺計算機上的

1 什么是WMI?

Windows Management Instrumentation (WMI)是可伸縮的系統管理結構,該規范采用一個統一、基于標準且可擴展的面向對象接口。它提供與系統管理員信息和基礎WMI API交互的標準方法,主要由系統管理應用程序開發人員和系統管理員用來訪問和操作系統管理信息;它可用來生成組織和管理系統信息的工具,使系統管理人員能夠更密切的監視系統活動。

WMI提供了一套內置在Microsoft Windows操作系統中的豐富的系統管理服務,可以在有大量的應用程序、服務和設備的系統中提供全方位的管理功能。它允許應用程序的開發者,使用簡單的、一致的機制,去查詢企業中的任一臺計算機上的信息,或是進行系統配置。

通過WMI接口可以獲得的信息量是驚人的,包括硬件設置,狀態信息,驅動器配置,BIOS信息,應用程序的設置,事件記錄信息,以及其他。WMI通過一組API來獲得信息,但它表征的是一種通過一個簡單,工業標準對象管理模式來獲取信息的函數。這使得應用程序的開發者不必學習Windows的每一個API的具體細節。

.Net FrameWork SDK對WMI提供了全面的支持,.Net FrameWork SDK為Visual C#能夠操作WMI提供了一個專門的命名空間"System.Management"。在命名空間"System.Management"中提供了大量用以處理和WMI相關的類、接口和枚舉。在使用WMI之前,必須在工程中添加對System.Management.dll的引用,然后聲明

using System.Management;

2 使用WMI連接遠程計算機

系統管理員可以通過目標機器的機器名(或者IP地址),用戶名以及密碼去查詢遠程計算機的狀態和信息,以及利用腳本執行一些管理工作。利用WMI連接遠程計算機是很方便的,可以參考下面的格式

?
1
2
3
4
5
6
7
8
9
10
11
12
13
ManagementObjectSearcher query;  
ManagementObjectCollection queryCollection;
System.Management.ObjectQuery oq;
 
string machineName = "110.119.110.1"; //連接的目標機的IP地址或者機器名
co.Username = "YourName";         //連接需要的用戶名
co.Password = "YourPassword";      //連接需要的密碼
string connectString = "SELECT * FROM Win32_PnPSignedDriver"//查詢字符串
 
System.Management.ManagementScope ms = new System.Management.ManagementScope("\\\\" + machineName + "\\root\\cimv2", co);
oq = new System.Management.ObjectQuery( connectString );
query = new ManagementObjectSearcher( ms, oq );
queryCollection = query.Get();

通過IP地址,用戶名和密碼就建立了一個可以查詢Win32_PnPSignedDrvier這個類(關于這個類的詳細信息請查詢MSDN)所有信息的連接。現在我們就可以遠程獲取目標機器上的所有Pnp驅動的信息了。是不是很方便?在得到所有的信息后,我們可以通過下面的兩種方式來獲取我們需要的屬性

?
1
2
3
4
5
6
7
8
9
10
11
foreach ( ManagementObject mo in queryCollection)
{
 // string hardwareID  = mo["HardwareID"]); //直接根據屬性名得到屬性的值
 
 //遍歷所有屬性,得到所有屬性的值
 PropertyDataCollection searcherProperties = mo.Properties;
 foreach (PropertyData sp in searcherProperties)
 {
 Console.WriteLine("Name = {0, -20}, Value = {1, -20}", sp.Name,sp.Value);
 }
}

3 使用WMI連接本地計算機

使用WMI連接本地計算機也是非常方便的,我們只需要稍微修改一下上面的代碼就可以了。

?
1
2
3
string machineName = "localhost";
co.Username = "";
co.Password = "";

也可以用比較簡單的格式,直接使用查詢語句。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
string connectString = "SELECT * FROM Win32_PnPSignedDriver";
 
SelectQuery selectQuery = new SelectQuery( connectString );
ManagementObjectSearcher searcher = new ManagementObjectSearcher( selectQuery );
 
foreach (ManagementObject mo in searcher.Get())
{
 PropertyDataCollection searcherProperties = mo.Properties;
 foreach (PropertyData sp in searcherProperties)
 {
 Console.WriteLine(sp.Name + " " + sp.Value);
 }
}

4 查詢語句的格式

上面的連接字符串connectString其實有很多種格式。對于WMI來說,使用WQL查詢所需要的信息。WQL繼承了SQL的一些語法。但是并不是說所有SQL的語句都可以用于WQL。常用的格式有如下幾種。

(1)查詢系統中類中所有對象的所有屬性
connectString = "SELECT * FROM Win32_PnPSignedDriver"

(2)查詢類中所有對象的HardwareID屬性
connectString = "SELECT HardwareID FROM Win32_PnPSignedDriver"

(3)查詢類中所有對象的HardwareID和DriverVersion屬性
connectString = "SELECT HardwareID, DriverVersion FROM Win32_PnPSignedDriver"

(4)查詢類中所有對象的HardwareID和DriverVersion屬性,并且對象的HardwareID必須以IBM254D結尾
connectString = "SELECT HardwareID, DriverVersion FROM Win32_PnPSignedDriver WHERE HardwareID like '%IBM254D'"

(5)查詢類中所有對象的HardwareID和DriverVersion屬性,并且對象的HardwareID必須以Monitor開頭
connectString = "SELECT HardwareID, DriverVersion FROM Win32_PnPSignedDriver WHERE HardwareID like 'Monitor%'"

(6)查詢類中所有對象的HardwareID和DriverVersion屬性,并且對象的HardwareID必須是以Monitor開頭,以IBM254D結尾,而且之間只有一個任意的字符
connectString = "SELECT HardwareID, DriverVersion FROM Win32_PnPSignedDriver WHERE HardwareID like 'Monitor_IBM254D'"

(7)查詢類中所有對象的HardwareID和DriverVersion屬性,并且對象的HardwareID必須是以Monitor開頭,以IBM254D結尾,而且之間只有一個任意的字符,還要滿足InfName必須是oem18.inf
connectString = "SELECT HardwareID, DriverVersion FROM Win32_PnPSignedDriver WHERE HardwareID like 'Monitor_IBM254D' AND InfName='oem18.inf'"

(8)查詢類中所有對象的HardwareID和DriverVersion屬性,并且對象的HardwareID必須是以Monitor開頭,以IBM254D結尾,而且之間只有一個任意的字符,或者滿足InfName是oem18.inf
connectString = "SELECT HardwareID, DriverVersion FROM Win32_PnPSignedDriver WHERE HardwareID like 'Monitor_IBM254D' OR InfName='oem18.inf'"

5 參考資料和工具

WMI Reference:http://msdn2.microsoft.com/en-us/library/aa394572.aspx
WMI Tools:http://www.microsoft.com/downloads/details.aspx?familyid=6430f853-1120-48db-8cc5-f2abdc3ed314&displaylang=en
WQL Query:http://www.microsoft.com/china/technet/community/scriptcenter/topics/win2003/like.mspx#EIB

延伸 · 閱讀

精彩推薦
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧美大片一区二区 | 日韩和欧美的一区二区 | 国内成人免费视频 | 99青青草 | 中文字幕日韩欧美 | 久久亚洲视频 | 日韩欧美国产精品 | 国产精品色一区二区三区 | 日韩a∨精品日韩在线观看 国产高清视频在线观看 | 欧美一级在线观看 | 国产模特私拍xxxx | 色偷偷噜噜噜亚洲男人的天堂 | 亚洲一区中文字幕 | 欧美成人福利 | 亚洲第一黄| 精品久久久久久久久久久久 | 亚洲综合中文 | 亚洲欧美日韩成人 | 性色综合 | 亚洲综合二区 | 日韩电影中文字幕 | av天天看| 一区二区三区久久久 | 成年人免费网站 | 国产成人99久久亚洲综合精品 | 国产精品二区三区 | 欧美a在线 | 日韩免费av| 久久久久综合 | 国产精品高清一区二区 | 羞羞网站在线观看 | 玖玖精品 | 狠狠久 | 欧美日韩国产在线播放 | 久久久综合色 | 国产在线精品视频 | 中文字幕精品视频 | 欧美精品日韩 | 欧美午夜精品久久久久久浪潮 | 久久久久久久久久久久久久av | 欧洲在线一区 |