麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > VBScript > 正文

用vbs實現確定是否安裝了某個特定的補丁

2020-07-26 12:01:43
字體:
來源:轉載
供稿:網友
問:
您好,腳本專家!如何使用腳本來確定是否安裝了某個特定的補丁?

-- GM

答:
您好,GM。您知道,不久以前這個問題可能被我們“不小心”扔進了廢紙簍并且假裝從未看到。為什么?嗯,以前的時候,我們獲得關于補丁、快速修復和其他更新的信息的唯一方法就是使用 WMI 類 Win32_QuickFixEngineering。這樣挺好的,但是由于各種原因,Win32_QuickFixEngineering 偶爾會丟失確實已經安裝了的補丁;更糟糕的是,在 Windows 2000 計算機上,Win32_QuickFixEngineering 有時會處于待命狀態,而不返回任何信息。(如何解決這一問題?當然是指通過安裝補丁來解決。)無論如何都不能算一件好事。

但是,那些日子都過去了。現在,多虧具有重大改進的新 Windows Update 服務,要確定計算機上已安裝了和尚未安裝哪些更新非常容易。例如,以下腳本可以告訴我們計算機上是否已安裝了補丁 Security Update for Windows XP (KB899587):

Set objSession = CreateObject("Microsoft.Update.Session")
Set objSearcher = objSession.CreateUpdateSearcher
Set objResults = objSearcher.Search("Type='Software'")
Set colUpdates = objResults.Updates

For i = 0 to colUpdates.Count - 1
    If colUpdates.Item(i).Title = _
        "Security Update for Windows XP (KB899587)" Then
        If colUpdates.Item(i).IsInstalled <> 0 Then
            Wscript.Echo "This update is installed."
            Wscript.Quit
        Else
            Wscript.Echo "This update is not installed."
            Wscript.Quit
        End If
    End If
Next

Wscript.Echo "This update is not installed."

我們將不詳細介紹每一行代碼,解釋 Windows Update 服務的詳細情況有點超出了本專欄的范圍。如果您想了解有關 Windows Update(尤其是諸如 Microsoft.Update.Session 之類的對象)的詳細信息,請參閱我們的“腳本故事”專欄中的我要得到你,我的美人…并且我們也要管理 Windows Update 啦!

但是,我們會發現,盡管有 Search 方法,但我們并不是真的搜索某個具體的更新。搜索意味著只去查找所需的項,其精確度是極低的。因此我們不能真的那樣做。相反,我們在此要做的是返回所有更新的集合,然后篩選整個集合,查找標題為 Security Update for Windows XP (KB899587) 的更新。最終結果是一樣的,但是我們達到這一最終結果的過程稍有不同。

不,沒有什么不同。就您想了解的內容而言。

那么,我們在此采用的過程是什么?嗯,首先使用下面四行代碼來檢索本地計算機的更新集合:

Set objSession = CreateObject("Microsoft.Update.Session")
Set objSearcher = objSession.CreateUpdateSearcherSet 
objResults = objSearcher.Search("Type='Software'")
Set colUpdates = objResults.Updates

注意:是的,此腳本可針對遠程計算機運行。有關詳細信息,請參閱腳本故事專欄。


檢索該集合之后,設置一個 For Next 循環以遍歷所有項。在該循環內,使用下面一行代碼來確定更新的“標題”是否為 Security Update for Windows XP (KB899587):

If colUpdates.Item(i).Title = _
    "Security Update for Windows XP (KB899587)" Then

我們假定“標題”是Security Update for Windows XP (KB899587)。在這種情況下,接下來要檢查 IsInstalled 屬性的值。如果 IsInstalled 等于 0,則表示實際沒有安裝該更新(可能安裝失敗了,也可能安裝了該更新但后來又刪除了)。如果 IsInstalled 不等于 0,則表示已經安裝了該更新。檢查該值,然后回顯相應的消息:

If colUpdates.Item(i).IsInstalled <> 0 Then
    Wscript.Echo "This update is installed."
    Wscript.Quit
Else
    Wscript.Echo "This update is not installed."
    Wscript.Quit
End If

您會發現,回顯消息之后,我們就會終止該腳本。為什么?嗯,更新標題是唯一的:既然我們已經找到了要查找的更新,就無需繼續遍歷剩下的集合了。因此,我們也就終止了腳本,并回到我們的生活中。

如果“標題”不是Security Update for Windows XP (KB899587) 怎么辦?在這種情況下,我們只要進入下一輪循環并檢查集合中的下一項即可。如果我們確實再也找不到具有指定標題的更新,則最終會退出該循環,然后執行最后一行代碼,僅報告沒有安裝該更新。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产91在线高潮白浆在线观看 | 91中文在线观看 | 欧美成人精品一区二区男人小说 | 天天都色 | 日韩视频在线观看免费视频 | 一级一级一级一级毛片 | 精品亚洲午夜久久久久91 | 91精品国啪老师啪 | 黄色免费播放网站 | 一级做a爱视频 | 黄视频网站免费观看 | h视频在线免费看 | 一级黄色免费观看视频 | 免费永久在线观看黄网 | 神马久久蜜桃 | 一级做a在线观看 | 久久精品一区视频 | 神秘电影91 | 狠狠干精品视频 | 一级国产航空美女毛片内谢 | 羞羞色院91精品网站 | 青草视频在线观看视频 | 4p嗯啊巨肉寝室调教男男视频 | 久久久久久久久久久久久久国产 | 精品在线一区二区三区 | 日韩毛片免费观看 | 国产99页| 福利在线播放 | 99精品视频在线免费观看 | 久久另类视频 | 国产1区2区3区中文字幕 | 欧美另类激情 | 啪啪毛片 | 国产免费一级 | 13一14毛片免费看 | 91久久国产综合精品女同国语 | a网站在线 | 亚洲成人精品视频 | 国产精品免费一区二区三区四区 | 日韩精品久久久久久久电影99爱 | 一级做a爱片性色毛片 |