日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用WMI对象收集计算机信息

發(fā)布時(shí)間:2025/3/21 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用WMI对象收集计算机信息 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

WMI(windows管理規(guī)范),是Windows 2K/XP管理系統(tǒng)的核心;對于其他的Win32操作系統(tǒng),WMI是一個(gè)有用的插件。WMI以CIMOM為基礎(chǔ)。

CIMOM公共信息模型對象管理器(Common Information Model Object Manager),是一個(gè)描述操作系統(tǒng)構(gòu)成單元的對象數(shù)據(jù)庫,為MMC和腳本程序提供了一個(gè)訪問操作系統(tǒng)構(gòu)成單元的公共接口。有了WMI,工具軟件和腳本程序訪問操作系統(tǒng)的不同部分時(shí)不需要使用不同的API;相反,操作系統(tǒng)的不同部分都可以插入WMI,如圖所示,工具軟件和腳本程序可以方便地讀寫WMI。


學(xué)習(xí)目標(biāo)

  • 獲取所有的WMI對象

  • WMI類詳細(xì)信息顯示

  • 使用WMI對計(jì)算機(jī)信息進(jìn)行收集

  • 使用WQL語句



WMI對象

  • WMI對象:WmiObject

  • WMI:Windows管理規(guī)范

  • WMI將數(shù)據(jù)視為有一個(gè)或多個(gè)項(xiàng)目的集合中的對象

  • 通過WMI可以使用較少的工作量執(zhí)行高級工作


  • 獲取WMI對象:Get-WmiObject

  • 顯示所有的WMI對象

  • Get-WmiObject-List

  • 可以使用-commputer選項(xiàng)獲取遠(yuǎn)程計(jì)算機(jī)上的參數(shù)



獲取本機(jī)所有WmiObject 信息

1 Get-WmiObject?--list


獲取磁盤信息

1 Get-WmiObject?win32_logicaldisk


獲取指定磁盤信息

1 Get-WmiObject?win32_logicaldisk?|??{$_.DeviceID?-like?"C:"}



獲取C盤剩余空間

1 (Get-WmiObject?win32_logicaldisk?|??{$_.DeviceID?-like?"C:"}).freespace



獲取CPU信息

1 Get-WmiObject?win32_processor

注意:上面是我在虛擬機(jī)中執(zhí)行命令的結(jié)果,物理機(jī)中信息要比這多很多


查看計(jì)算機(jī)制造商信息


1 Get-WmiObject?win32_computersystem



獲取內(nèi)存總大小

1 (Get-WmiObject?win32_computersystem).TotalPhysicalmemory



查看系統(tǒng)共享目錄

1 Get-WmiObject?win32_share

??



查看共享相信信息

1 Get-WmiObject?win32_share?|?Format-list?*
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 PS?C:\Users\Administrator>?Get-WmiObject?win32_share?|?Format-list?* PSComputerName???:?OPS01-WINTEST01 Status???????????:?OK Type?????????????:?2147483648 Name?????????????:?ADMIN$ __GENUS??????????:?2 __CLASS??????????:?Win32_Share __SUPERCLASS?????:?CIM_LogicalElement __DYNASTY????????:?CIM_ManagedSystemElement __RELPATH????????:?Win32_Share.Name="ADMIN$" __PROPERTY_COUNT?:?10 __DERIVATION?????:?{CIM_LogicalElement,?CIM_ManagedSystemElement} __SERVER?????????:?OPS01-WINTEST01 __NAMESPACE??????:?root\cimv2 __PATH???????????:?\\OPS01-WINTEST01\root\cimv2:Win32_Share.Name="ADMIN AccessMask???????: AllowMaximum?????:?True Caption??????????:?Remote?Admin Description??????:?Remote?Admin InstallDate??????: MaximumAllowed???: Path?????????????:?C:\Windows Scope????????????:?System.Management.ManagementScope Options??????????:?System.Management.ObjectGetOptions ClassPath????????:?\\OPS01-WINTEST01\root\cimv2:Win32_Share Properties???????:?{AccessMask,?AllowMaximum,?Caption,?Description...} SystemProperties?:?{__GENUS,?__CLASS,?__SUPERCLASS,?__DYNASTY...} Qualifiers???????:?{dynamic,?Locale,?provider,?UUID} Site?????????????: Container????????: PSComputerName???:?OPS01-WINTEST01 Status???????????:?OK Type?????????????:?2147483648 Name?????????????:?C$ __GENUS??????????:?2 __CLASS??????????:?Win32_Share __SUPERCLASS?????:?CIM_LogicalElement __DYNASTY????????:?CIM_ManagedSystemElement __RELPATH????????:?Win32_Share.Name="C$" __PROPERTY_COUNT?:?10 __DERIVATION?????:?{CIM_LogicalElement,?CIM_ManagedSystemElement} __SERVER?????????:?OPS01-WINTEST01 __NAMESPACE??????:?root\cimv2 __PATH???????????:?\\OPS01-WINTEST01\root\cimv2:Win32_Share.Name="C$" AccessMask???????: AllowMaximum?????:?True Caption??????????:?Default?share Description??????:?Default?share InstallDate??????: MaximumAllowed???: Path?????????????:?C:\ Scope????????????:?System.Management.ManagementScope Options??????????:?System.Management.ObjectGetOptions ClassPath????????:?\\OPS01-WINTEST01\root\cimv2:Win32_Share Properties???????:?{AccessMask,?AllowMaximum,?Caption,?Description...} SystemProperties?:?{__GENUS,?__CLASS,?__SUPERCLASS,?__DYNASTY...} Qualifiers???????:?{dynamic,?Locale,?provider,?UUID} Site?????????????: Container????????: PSComputerName???:?OPS01-WINTEST01 Status???????????:?OK Type?????????????:?2147483648 Name?????????????:?D$ __GENUS??????????:?2 __CLASS??????????:?Win32_Share __SUPERCLASS?????:?CIM_LogicalElement __DYNASTY????????:?CIM_ManagedSystemElement __RELPATH????????:?Win32_Share.Name="D$" __PROPERTY_COUNT?:?10 __DERIVATION?????:?{CIM_LogicalElement,?CIM_ManagedSystemElement} __SERVER?????????:?OPS01-WINTEST01 __NAMESPACE??????:?root\cimv2 __PATH???????????:?\\OPS01-WINTEST01\root\cimv2:Win32_Share.Name="D$" AccessMask???????: AllowMaximum?????:?True Caption??????????:?Default?share Description??????:?Default?share InstallDate??????: MaximumAllowed???: Path?????????????:?D:\ Scope????????????:?System.Management.ManagementScope Options??????????:?System.Management.ObjectGetOptions ClassPath????????:?\\OPS01-WINTEST01\root\cimv2:Win32_Share Properties???????:?{AccessMask,?AllowMaximum,?Caption,?Description...} SystemProperties?:?{__GENUS,?__CLASS,?__SUPERCLASS,?__DYNASTY...} Qualifiers???????:?{dynamic,?Locale,?provider,?UUID} Site?????????????: Container????????: PSComputerName???:?OPS01-WINTEST01 Status???????????:?OK Type?????????????:?2147483651 Name?????????????:?IPC$ __GENUS??????????:?2 __CLASS??????????:?Win32_Share __SUPERCLASS?????:?CIM_LogicalElement __DYNASTY????????:?CIM_ManagedSystemElement __RELPATH????????:?Win32_Share.Name="IPC$" __PROPERTY_COUNT?:?10 __DERIVATION?????:?{CIM_LogicalElement,?CIM_ManagedSystemElement} __SERVER?????????:?OPS01-WINTEST01 __NAMESPACE??????:?root\cimv2 __PATH???????????:?\\OPS01-WINTEST01\root\cimv2:Win32_Share.Name="IPC$" AccessMask???????: AllowMaximum?????:?True Caption??????????:?Remote?IPC Description??????:?Remote?IPC InstallDate??????: MaximumAllowed???: Path?????????????: Scope????????????:?System.Management.ManagementScope Options??????????:?System.Management.ObjectGetOptions ClassPath????????:?\\OPS01-WINTEST01\root\cimv2:Win32_Share Properties???????:?{AccessMask,?AllowMaximum,?Caption,?Description...} SystemProperties?:?{__GENUS,?__CLASS,?__SUPERCLASS,?__DYNASTY...} Qualifiers???????:?{dynamic,?Locale,?provider,?UUID} Site?????????????: Container????????:


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

手動創(chuàng)建的共享type為0,系統(tǒng)默認(rèn)的共享,type值不為0,所以可以用以下方法過濾出手動創(chuàng)建的共享目錄

1 Get-WmiObject?win32_share?|??{$_.type?-eq?0}





使用WQL語句

使用WQL語句可以用于篩選WMI對象

語法:

1 Get-WmiObject?-Query?"select?[對象]?from?WMI對象??WHERE?條件“

上面的命令可以分解成兩條:

  • get-wmiobject -query "WQL語句"?

  • WQL= ”select * from Wmi對象 where 條件“


練習(xí):

  • 列出本機(jī)的WmiObject對象

  • 只獲取win32_開頭的對象

  • 獲取所有的Win32_Share對象,并用列舉的方式表示

  • 查找狀態(tài)為running的win32_service對象

  • 查找startMode為Auto的win32_service對象

  • 查看所有的本地磁盤

  • 查找每個(gè)磁盤的剩余空間


例如: 查看所有由用戶創(chuàng)建的共享目錄

1 Get-WmiObject?-query?"select?*?from?win32_share?where?type=0"



練習(xí)1:獲取win32_開頭的對象

1 Get-WmiObject?-list?win32_*


練習(xí)2:查找狀態(tài)為running的win32_service對象


1 Get-WmiObject?-query?"select?*?from?win32_service?where?state='running'"


以列表形式顯示:




很多WMI對象可以使用cmdlet獲取,例如:

  • Get-WmiObject win32_service ?== Get-Service

  • Get-WmiObject win32_Process ?== Get-Process










本文轉(zhuǎn)自 曾哥最愛 51CTO博客,原文鏈接:http://blog.51cto.com/zengestudy/1873738,如需轉(zhuǎn)載請自行聯(lián)系原作者

總結(jié)

以上是生活随笔為你收集整理的使用WMI对象收集计算机信息的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。