none
Verificar KB972854 RRS feed

  • Pergunta

  • Pessoal,

     

    Como criar um script para verificar se o KB972854 (corretor ortográfico do Office 2007) está instalado nas máquinas da rede, gerando um log com host, user, data da instalação?

     

    Obrigado.

    terça-feira, 5 de abril de 2011 15:02

Respostas

  • Marco,

    Segue o script abaixo. Você só precisa mudar a parte da escrita no arquivo de log. Nesse script ele mostra na tela as máquinas que possuem o KB em questão instalado.

    Coloque no arquivo computadores.txt a lista de computadores que deseja pesquisar na sua rede indicando o local do mesmo, nesse caso está na unidade D:\. Você precisará de direitos administrativos nesses computadores para conseguir pesquisar esse KB.

    Salve o código em um arquivo .vbs

    Se lhe foi útil, vote e marque como resposta!

    ************ INICIO ********

    Dim oFSO, sArquivo, oArquivo, sTexto, strNomeUsuario, strDominio, objUsuario

    Set oFSO = CreateObject("Scripting.FileSystemObject")
    sArquivo = "D:\Computadores.txt"
    If oFSO.FileExists(sArquivo) Then
    Set oArquivo = oFSO.OpenTextFile(sArquivo, 1)
     Do While Not oArquivo.AtEndOfStream
       sTexto = oArquivo.ReadLine
       If Trim(sTexto) <> "" Then
       strComputer= sTexto

    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

    Set colQuickFixes = objWMIService.ExecQuery _
        ("Select * from Win32_QuickFixEngineering")

    For Each objQuickFix in colQuickFixes
        HotFix = objQuickFix.HotFixID
        if HotFix = "KB972854" then
     Wscript.Echo "Computer: " & objQuickFix.CSName
         Wscript.Echo "Hot Fix ID: " & objQuickFix.HotfixID
         Wscript.Echo "Installation Date: " & objQuickFix.InstallDate
         Wscript.Echo "Installed By: " & objQuickFix.InstalledBy
        end if
    Next
    END IF
    loop
    oArquivo.Close
    end if

    ******** FIM *************

     

     

     


    Elmo Baraúna, SSA-Ba - FSCTP / MCP / MCDST / MCSA / MCT
    • Sugerido como Resposta Elmo Baraúna segunda-feira, 18 de abril de 2011 18:10
    • Marcado como Resposta Fábio JrModerator terça-feira, 10 de janeiro de 2012 14:00
    segunda-feira, 18 de abril de 2011 18:10

Todas as Respostas

  • ???

    sexta-feira, 8 de abril de 2011 12:47
  • Marco,

     

    Use o psinfo

     

    psinfo -h, vai listar todos os hotfixes instalados...


    []´s Se for util, vote. Assim você ajuda a manter o fórum organizado e ajuda outros a acharem as respostas http://robsonfr.wordpress.com http://www.linkedin.com/in/robsonfranco
    • Marcado como Resposta Richard Juhasz quarta-feira, 4 de maio de 2011 14:52
    • Não Marcado como Resposta Richard Juhasz quarta-feira, 4 de maio de 2011 14:52
    segunda-feira, 18 de abril de 2011 15:23
  • Marco,

    Segue o script abaixo. Você só precisa mudar a parte da escrita no arquivo de log. Nesse script ele mostra na tela as máquinas que possuem o KB em questão instalado.

    Coloque no arquivo computadores.txt a lista de computadores que deseja pesquisar na sua rede indicando o local do mesmo, nesse caso está na unidade D:\. Você precisará de direitos administrativos nesses computadores para conseguir pesquisar esse KB.

    Salve o código em um arquivo .vbs

    Se lhe foi útil, vote e marque como resposta!

    ************ INICIO ********

    Dim oFSO, sArquivo, oArquivo, sTexto, strNomeUsuario, strDominio, objUsuario

    Set oFSO = CreateObject("Scripting.FileSystemObject")
    sArquivo = "D:\Computadores.txt"
    If oFSO.FileExists(sArquivo) Then
    Set oArquivo = oFSO.OpenTextFile(sArquivo, 1)
     Do While Not oArquivo.AtEndOfStream
       sTexto = oArquivo.ReadLine
       If Trim(sTexto) <> "" Then
       strComputer= sTexto

    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

    Set colQuickFixes = objWMIService.ExecQuery _
        ("Select * from Win32_QuickFixEngineering")

    For Each objQuickFix in colQuickFixes
        HotFix = objQuickFix.HotFixID
        if HotFix = "KB972854" then
     Wscript.Echo "Computer: " & objQuickFix.CSName
         Wscript.Echo "Hot Fix ID: " & objQuickFix.HotfixID
         Wscript.Echo "Installation Date: " & objQuickFix.InstallDate
         Wscript.Echo "Installed By: " & objQuickFix.InstalledBy
        end if
    Next
    END IF
    loop
    oArquivo.Close
    end if

    ******** FIM *************

     

     

     


    Elmo Baraúna, SSA-Ba - FSCTP / MCP / MCDST / MCSA / MCT
    • Sugerido como Resposta Elmo Baraúna segunda-feira, 18 de abril de 2011 18:10
    • Marcado como Resposta Fábio JrModerator terça-feira, 10 de janeiro de 2012 14:00
    segunda-feira, 18 de abril de 2011 18:10
  • Olá Marco,

    Atendeu a sua necessidade?


    Elmo Baraúna, SSA-Ba - FSCTP / MCP / MCDST / MCSA / MCT
    sexta-feira, 22 de abril de 2011 03:11
  • Olá Elmo, desculpe a demora...

     

    Então, não deu certo, da a seguinte mensagem de erro: "O servidor remoto não existe ou não está disponível: 'GetObject'

     

    Linha: 12

    Caract: 1

    Código: 800A01CE

     

    Aproveitando, não tem como jogar os resultados em um log ao invés de mostrar na tela as máquinas que tem o KB instalado??

     

    Obrigado

    quarta-feira, 27 de abril de 2011 18:34