Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Поиск есть конкретное обнавление на компьютере? (http://forum.oszone.net/showthread.php?t=277062)

Спаситель 04-02-2014 10:01 2302293

Поиск есть конкретное обнавление на компьютере?
 
Не могу найти как сделать поиск в VBS поиск на компьютере нужного обновление.

У меня есть небольшой чекер который проверяет совместимость компьютера, версии IE, RDP и сертификата, но застрял на поиске обнавления.
Часть кода что бы было более понятно.

Поиск версии IE

Код:

Function DetectIEVersion
            On Error Resume Next
            Set objFSO = CreateObject("Scripting.FileSystemObject")
           
            IEVer = objFSO.GetFileVersion(ProgDir & "\Internet Explorer\iexplore.exe")
            arrIEVer = Split(IEVer, ".")
           
            Select Case arrIEVer(0)

                Case 7
                    imageurl = "ok.png"
                    usermessage = ie7_msg
                    HasIE7P = true
                Case 8
                    imageurl = "ok.png"
                    usermessage = ie8_msg
                    HasIE7P = true
                Case 9
                    imageurl = "ok.png"
                    usermessage = ie9_msg
                    HasIE7P = true
                Case 10
                    imageurl = "ok.png"
                    usermessage = ie10_msg
                    HasIE7P = true
                                Case 11
                    imageurl = "ok.png"
                    usermessage = ie11_msg
                    HasIE7P = true       
                Case Else
                    imageurl = "fail.png"
                    usermessage = ieold_msg
            End Select
           
            OutputRows = OutputRows & "    <tr><td width='20'><image src='" & imageurl & "' /></td><td>" & usermessage & "</td></tr>" & vbcrlf


Iska 04-02-2014 10:37 2302325

Во-первых, убрать «On Error Resume Next». Во-вторых, обязательно использовать «Option Explicit». В-третьих, я бы предпочёл:
читать дальше »
Код:

Option Explicit

Dim objFSO

Set objFSO = CreateObject("Scripting.FileSystemObject")

With CreateObject("InternetExplorer.Application")
        MsgBox objFSO.GetFileVersion(.FullName)
       
        .Quit
End With

Set objFSO = Nothing



Цитата:

Цитата Спаситель
Не могу найти как сделать поиск в VBS поиск на компьютере нужного обновление. »

Выбирайте: Scripts to query installed Service Packs, Patches/updates and Hotfixes - PatchAholic...The WSUS Blog!

Если по-простому, то так:
читать дальше »
Код:

Option Explicit

Dim strHotFixID
Dim strServicePackInEffect


Dim strComputer

Dim objSWbemLocator
Dim objSWbemServicesEx
Dim collSWbemObjectSet
Dim objSWbemObjectEx


strHotFixID            = "KB952011"
strServicePackInEffect = "SP3"

strComputer = "."

Set objSWbemLocator    = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")
Set collSWbemObjectSet = objSWbemServicesEx.ExecQuery( _
        "SELECT HotFixID, ServicePackInEffect, Description FROM Win32_QuickFixEngineering " & _
        "WHERE HotFixID = '" & strHotFixID & "' AND ServicePackInEffect = '" & strServicePackInEffect & "'" _
)

If collSWbemObjectSet.Count > 0 Then
        MsgBox "Installed."
       
        For Each objSWbemObjectEx In collSWbemObjectSet
                MsgBox objSWbemObjectEx.Description & vbCrLf & _
                        objSWbemObjectEx.HotFixID & vbCrLf & _
                        objSWbemObjectEx.ServicePackInEffect
        Next
Else
        MsgBox "Not installed."
End If

Set collSWbemObjectSet = Nothing
Set objSWbemServicesEx = Nothing
Set objSWbemLocator    = Nothing

WScript.Quit 0



Время: 20:31.

Время: 20:31.
© OSzone.net 2001-