中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何利用WMI實現系統補丁檢測分析

發布時間:2021-07-12 17:08:46 來源:億速云 閱讀:270 作者:chen 欄目:開發技術

這篇文章主要介紹“如何利用WMI實現系統補丁檢測分析”,在日常操作中,相信很多人在如何利用WMI實現系統補丁檢測分析問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何利用WMI實現系統補丁檢測分析”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

如何利用WMI實現系統補丁檢測分析

WMI是Windows 2000/XP管理系統的核心;對于其它的Win32操作系統,WMI是一個有用的插件。WMI以CIMOM為基礎,CIMOM即公共信息模型對象管理器 (Common Information Model Object Manager),是一個描述操作系統構成單元的對象數據庫,為MMC和腳本程序提供了一個訪問操作系統構成單元的公共接口。Windows 管理規范 (WMI) 是可伸縮的系統管理結構,它采用一個統一的、基于標準的、可擴展的面向對象接口。我在剛開始理解WMI的時候,總以為WMI是“Windows管理接口(Interface)”。

      下面我們就詳細來了解如何利用WMI實現補丁的檢測過程。圖1是整個檢測過程的流程圖。

如何利用WMI實現系統補丁檢測分析

1.利用WMI實現補丁檢測之流程圖

       第一步,設置需要檢測的補丁號。我們知道,微軟的每個補丁都會有一個標準的編號(如KB828741),對于最新的補丁,我們可以從微軟的網站上獲得。然后,將希望用戶安裝的補丁號放到一個數組里。根據不同Windows操作系統我們需要設置不同檢測補丁號。基于當前Windows系統使用情況,我只對Windows 2000/2003/XP進行檢測。
圖1.利用WMI實現補丁檢測之流程圖
第一步,設置需要檢測的補丁號。我們知道,微軟的每個補丁都會有一個標準的編號(如KB828741),對于最新的補丁,我們可以從微軟的網站上獲得。然后,將希望用戶安裝的補丁號放到一個數組里。根據不同Windows操作系統我們需要設置不同檢測補丁號。基于當前Windows系統使用情況,我只對Windows 2000/2003/XP進行檢測。
‘ 對于windows 2000
arrFixed_WIN2K=Array("KB840315","KB870669","KB828741","KB835732",
"KB840987","KB841356","KB885835","KB885836",
"KB842526","KB841872","KB841873","KB889293")
'對windows 2003系統
arrFixed_WIN2K3=Array("KB834707","KB840374","KB867801","KB833987",
"KB873376","KB885835","KB885836")
'對于windows xp SP1
arrFixed_XP1=Array("KB840987","KB833987","KB839645","KB840315","KB841873","
KB873376","KB841356","KB889293","KB885835","KB885836")
'對于windows xp SP2
arrFixed_XP2=Array("KB834707","KB885835","KB885836")
第二步,創建WMI對象,并和目標主機建立連接。
Dim objWMIService // WMI對象
Dim strComputer = “.” // 地址為當前主機
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
首先,定義兩個變量objWMIService和strComputer,第一個為我們要創建的服務定位對象,第二個為目標主機IP地址(如果為當前主機者為“.”)。第三句創建一個連接到目標主機的服務對象,定義名字空間參數為“root\cimv2”。在這個名字空間里有我們接下來要用的系統信息。
Socket:詳細代碼請看光盤附送的Check_patch.txt,更改文件擴展名txt為VBS,在Windows下可雙擊運行,如果當前系統檢測出未打補丁,則出現提示窗口,否則無。
第三步,讀取當前用戶操作系統信息,及其安裝補丁的情況。在名字空間“root/cimv2”下,實例“Win32_OperatingSystem”為我們提供了詳細的當前操作系統信息。我們采用Wql(sql for WMI)來讀取該實例,熟悉SQL語法的朋友一看就知道是在做什么了。
' 先判斷主機系統信息:OS,SP補丁版本情況
' 獲取系統信息
Dim objOSInfo // 獲取操作系統信息
Dim intOSver,intOStype,intCurrentSP // 當前系統版本,類型,Service Pack號
Set objOSInfo = osvcRemote.ExecQuery("Select ServicePackMajorVersion,Version,OSType FROM Win32_OperatingSystem")
For Each colOSInfo In objOSInfo
intCurrentSP = colOSInfo.ServicePackMajorVersion ‘sp安全補丁版本
intOSver = colOSInfo.Version ‘操作系統版本號
intOStype = colOSInfo.OSType ‘操作系統類型
Next
Socket:如何知道要連接哪個名字空間,獲得哪些對象呢?《WMI技術指南》[3]中分類列出了大量常用的對象。可惜它沒有相應的電子書,你只有到書店里找它了。你也可以用WMITools里WMI CIM Studio這個工具的搜索功能,很容易就能找想要的對象。找到對象后,WMI CIM Studio能列出其屬性和方法,然后到MSDN里找具體的幫助。
第四步,獲取當前系統已經安裝的補丁信息。在“root\cimv2”下,實例“Win32_QuickFixEngineering”下的“HotFixID”屬性存放了當前系統所安裝的補丁信息。
'*******************************************************************
'*讀取目標主機已安裝補丁列表到字符串strFixedList
'*******************************************************************
Dim colQFE, objQFE
Dim strHotFixID, strFixedList, strFind, strNoFixed
Set colQFE = osvcRemote.ExecQuery("SELECT HotFixID FROM Win32_QuickFixEngineering")
第四步,將讀取的用戶補丁號存到一數組變量,然后與我們在“第一步“定義的相應數組進行匹配,找出當前系統未安裝的補丁號。這部分的實現比較簡單,請參考后面的代碼。
第五步,顯示最后檢測結果。
至此,整個補丁檢測過程結束,只要將本腳本文件進行點擊運行,就可以完成補丁的檢查。特別是對于已經在企業中建立起Acitve Directory域的網絡管理員來說,只要將此腳本添加到域控制器的組策略里,對每個登陸到域的用戶進行補丁檢測,提示用戶最新補丁信息,再也不用為用戶沒有安裝最新補丁而苦惱了,大大提高了企業內部網絡安全管理。

到此,關于“如何利用WMI實現系統補丁檢測分析”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

wmi
AI

汉沽区| 会同县| 静安区| 随州市| 泌阳县| 宁阳县| 牙克石市| 闵行区| 鄂温| 金溪县| 达孜县| 浦东新区| 明星| 姜堰市| 兴山县| 辛集市| 龙岩市| 京山县| 荆州市| 湟中县| 青海省| 陇西县| 隆昌县| 德阳市| 渝北区| 寿光市| 石渠县| 远安县| 宁波市| 迁西县| 龙里县| 沂源县| 霍林郭勒市| 紫阳县| 大埔县| 太湖县| 铁岭县| 额尔古纳市| 广河县| 太仓市| 札达县|