none
Read String Reg Remotamente e escrever para arquivo RRS feed

  • Pergunta

  • Boas, mais uma vez estou meio perdido.
    Estou a tentar adaptar alguns scripts que encontrei para ler uma entrada do reg e depois escrever para arquivo.
    estou a adaptar o seguinte:

    on error resume next
    strComputer = InputBox("Entre o Nome da Máquina ou IP","Hostname","Localhost")
    strLog = "c:\version_dat_mcafee.vbs_" & strComputer & "_log.txt"
    set FSo = CreateObject("Scripting.FileSystemObject")
    Set ArqLog = FSO.OpenTextFile(strLog, 8, True, 0)
    Set objShell = CreateObject("WScript.Shell")
    strChave = "HKEY_LOCAL_MACHINE\SOFTWARE\Network Associates\ePolicy Orchestrator\Application Plugins\VIRUSCAN8000\DATVersion"
    strChave1 = "HKEY_LOCAL_MACHINE\SOFTWARE\Network Associates\ePolicy Orchestrator\Application Plugins\VIRUSCAN8000\HotFixVersions"
    strValor = objShell.RegRead(strChave)
    strValor1 = objShell.RegRead(strChave1)
    ArqLog.WriteLine "Dat Versão : " & strValor

    mas dei-me conta que não faz a leitura remota,
    já vi outros scripts que fazem a leitura remota de uma chave do tipo:

    Const HKEY_LOCAL_MACHINE = &H80000002

    strComputer = "."
    Set objRegistry = GetObject("winmgmts:\\" & _
    strComputer & "\root\default:StdRegProv")

    strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion"
    strValueName = "Test Value"
    objRegistry.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

    If IsNull(strValue) Then
    Wscript.Echo "The registry key does not exist."
    Else
    Wscript.Echo "The registry key exists."
    End If
    agora como compilar, a questão pode ser meio burra, mas não sou expert em VBS, estou a tentar entender para fazer coisas que preciso sem outro tipo de software.

    Cláudio Gonçalves
    sexta-feira, 11 de dezembro de 2009 09:36

Respostas

  • Olá,

    Verifique o script abaixo:


    Const HKEY_CURRENT_USER = &H80000002

    strComputer = "."

    strComputer = InputBox("Entre o Nome da Máquina ou IP","Hostname","Localhost")
    strLog = "c:\version_dat_mcafee.vbs_" & strComputer & "_log.txt"
    set FSo = CreateObject("Scripting.FileSystemObject")
    Set ArqLog = FSO.OpenTextFile(strLog, 8, True, 0)



     
    Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
     
    strKeyPath = "SOFTWARE\Network Associates\ePolicy Orchestrator\Application Plugins\VIRUSCAN8000\"
    strValor1 = "HotFixVersions"
    strValor2 = "DATVersion"


    objRegistry.GETStringValue HKEY_CURRENT_USER, strKeyPath, strValor1, dwValor1
    objRegistry.GETStringValue HKEY_CURRENT_USER, strKeyPath, strValor2, dwValor2

    ArqLog.WriteLine "COMPUTADOR : " & strComputer
    ArqLog.WriteLine "DATA : " & now
    ArqLog.WriteLine "HOTFIX Versão : " & dwvalor1
    ArqLog.WriteLine "Dat Versão : " & dwvalor2





    Verifique se os registros estão corretos.


    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    sexta-feira, 11 de dezembro de 2009 10:53

Todas as Respostas

  • Olá,

    Verifique o script abaixo:


    Const HKEY_CURRENT_USER = &H80000002

    strComputer = "."

    strComputer = InputBox("Entre o Nome da Máquina ou IP","Hostname","Localhost")
    strLog = "c:\version_dat_mcafee.vbs_" & strComputer & "_log.txt"
    set FSo = CreateObject("Scripting.FileSystemObject")
    Set ArqLog = FSO.OpenTextFile(strLog, 8, True, 0)



     
    Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
     
    strKeyPath = "SOFTWARE\Network Associates\ePolicy Orchestrator\Application Plugins\VIRUSCAN8000\"
    strValor1 = "HotFixVersions"
    strValor2 = "DATVersion"


    objRegistry.GETStringValue HKEY_CURRENT_USER, strKeyPath, strValor1, dwValor1
    objRegistry.GETStringValue HKEY_CURRENT_USER, strKeyPath, strValor2, dwValor2

    ArqLog.WriteLine "COMPUTADOR : " & strComputer
    ArqLog.WriteLine "DATA : " & now
    ArqLog.WriteLine "HOTFIX Versão : " & dwvalor1
    ArqLog.WriteLine "Dat Versão : " & dwvalor2





    Verifique se os registros estão corretos.


    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    sexta-feira, 11 de dezembro de 2009 10:53
  • Jesiel obrigado,
    testei e aparentemente funciona muito bem. fiquei curioso em ter colocado a linha strComputer = ".", quando existe a opção strComputer = InputBox("Entre o Nome da Máquina ou IP","Hostname","Localhost").

    vou testar com outras entradas (wsus) para garantir que cada máquina da rede está a ir ao servidor correcto.
    já classifico
    Cláudio Gonçalves
    sexta-feira, 11 de dezembro de 2009 11:34
  • Jesiel obrigado,
    testei e aparentemente funciona muito bem. fiquei curioso em ter colocado a linha strComputer = ".", quando existe a opção strComputer = InputBox("Entre o Nome da Máquina ou IP","Hostname","Localhost").

    vou testar com outras entradas (wsus) para garantir que cada máquina da rede está a ir ao servidor correcto.
    já classifico
    Cláudio Gonçalves

    Claudio, você pode remover sem problemas a linha strComputer = "."...

    Se vc analisar o código fica assim....

    linha 1 = .

    linha 3 = Valor inputado

    Um sobrepoe o outro. Mas não faz diferença...já que o valor que vc quer é o do inputbox.

    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    sexta-feira, 11 de dezembro de 2009 11:45
  • Entendido.
    a minha questão era só se iria sempre fazer a leitura no localhost.
    Mas tá entendido.

    Testei com outras entradas como havia dito "SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\", "WUServer" e "WUStatusServer".
    mais uma vez obrigado pela ajuda.
    Cláudio Gonçalves
    sexta-feira, 11 de dezembro de 2009 11:52