none
VBS para extrair o valor de uma chave do RegEdit RRS feed

  • Pergunta

  • Amigos, estou precisando criar um VBS para extrair o conteudo de uma chave especifica do Windows. Para exemplicar melhor, preciso rodar um VBS que va ate determinada chave do RegEdit e extraia o seu valor para um .txt
    Alguem poderia me ajudar com esse Script?
    quarta-feira, 5 de agosto de 2009 13:49

Respostas

  • Olá,

    Se o valor da chave for somente o ip do server, acredito que as modificações que eu fiz vai funcionar:

    Set objShell = CreateObject("WScript.Shell")
    strValor= objShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\TrendMicro\PC-cillinNTCorp\CurrentVersion")

    ' executa conforme solicitado
    objShell.Run "\\" & strValor & "\compartilhamento\arquivo.exe", 1, true

    wscript.quit


    Eu retirei as linhas para gerar o arquivo .txt se precisar, é só adicionar as linhas que passei no primeiro post.

    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique




    quarta-feira, 5 de agosto de 2009 20:22

Todas as Respostas

  • Olá,

    Verifique o script abaixo, veja se te atende:


    Set FileSystem = WScript.CreateObject("Scripting.FileSystemObject")
    Set OutPutFile = FileSystem.CreateTextFile("resultadodachave.txt", True)
    Set objShell = CreateObject("WScript.Shell")
    strValor= objShell.RegRead("HKCU\Software\teste\nomedachave")

    OutPutFile.WriteLine strValor
    OutPutFile.Close

    wscript.quit




    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    quarta-feira, 5 de agosto de 2009 16:19
  • Agradeço o retorno Jesiel, porem o script fornecido por você esta apresentando um erro de leitura na chave que pretendo exporta, a chave que quero exportar é a seguinte: HKEY_LOCAL_MACHINE\SOFTWARE\TrendMicro\PC-cillinNTCorp\CurrentVersion.
    O erro especifico é: Não é possivel abrir a chave de registro HKEY_LOCAL_MACHINE\SOFTWARE\TrendMicro\PC-cillinNTCorp\CurrentVersion para leitura.
    Como trata-se de uma chave relacionada ao antivirus torna-se necessário desativa-lo para que a chave seja lida?
    quarta-feira, 5 de agosto de 2009 17:02
  • Olá,

    Entre no registro e veja as permissões desta chave (botão direito, permissões)

    Se os usuários não tem permissão para leitura, você pode dar permissão por GPO (Computer Configuration->Windows Settings ->Security Settings -> Registry)


    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    quarta-feira, 5 de agosto de 2009 17:12
  • Jesiel,

    estou utilizando uma conta administrativa com totais permissões dentro do dominio e  desativei o software referente a chave em questão porem o erro continua.
    O erro esta sendo acusado na linha 4 / carater 1, será que poderia ser feita alguma modificação nesse Script para que esse erro seja corrigido?
    Se possivel, você poderia indicar algum livro ideal para iniciantes em VBS? Sou certificado Microsoft e realmente preciso muito aumentar meus conhecimentos em VBS.
    Mais uma vez, agradeço pela ajuda.
    quarta-feira, 5 de agosto de 2009 17:57
  • Jesiel,

    O problema foi solucionado, havia esquecido de inserir uma entrada na chave em questão.
    Agora tenho outro dúvida... essa entrada em questão tem um endereço IP ou um nome de uma máquina, eu queria tranformar esse conteúdo para uma variável e depois abrir o compartilhamento dessa máquina que está descrita na entrada de registro. Por exemplo, a entrada pode ter vários IPs, mas na minha máquina ela tem o valor 10.0.0.1, então ele irá abrir o compartilhamento \\10.0.0.1
    Seria possivel a realização dessa tarefa atraves de um vbs?
    quarta-feira, 5 de agosto de 2009 18:36
  • Olá,

    Vai abrir o compartilhamento e copiar alguma coisa???


    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    quarta-feira, 5 de agosto de 2009 19:06
  • Na verdade, estou fazendo isso para executar um arquivo de um servidor de antivirus. Tenho um ambiente grande, com 5 servidores de antivirus, preciso que as maquinas executem um arquivo direto de um compartilhamento do servidor de antivirus ao qual se reportam.
    Por isso a necessidade de fazer uma verificação na chave de registro citada no inicio, atarves dessa chave descubro o servidor de antivirus e descobrindo esse servidor, tenho que criar um script capaz de executar um arquivo em um compartilhamento no mesmo endereço da chave do registro.
    A necessidade de criar um script é por que torna-se inviavel fazer essa verificação maquina a maquina e depois executar esse arquivo maquina a maquina.
    Portanto preciso de um VBS que realize a leitura da chave e faça a execução de um arquivo em um compartilhamento o mesmo servidor da chave de registro.
    quarta-feira, 5 de agosto de 2009 19:55
  • Olá,

    Se o valor da chave for somente o ip do server, acredito que as modificações que eu fiz vai funcionar:

    Set objShell = CreateObject("WScript.Shell")
    strValor= objShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\TrendMicro\PC-cillinNTCorp\CurrentVersion")

    ' executa conforme solicitado
    objShell.Run "\\" & strValor & "\compartilhamento\arquivo.exe", 1, true

    wscript.quit


    Eu retirei as linhas para gerar o arquivo .txt se precisar, é só adicionar as linhas que passei no primeiro post.

    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique




    quarta-feira, 5 de agosto de 2009 20:22
  • Jesiel,

    funcionou perfeitamente, venho mais uma vez agradece-lo pela atenção, acabo de me filiar ao Technet e a experiencia foi muito satisfatoria.
    Se possivel, você poderia indicar um bom livro para iniciantes em VBS?
    Mais uma vez agradeço.
    quinta-feira, 6 de agosto de 2009 12:13
  • Olá,

    Thiago, entra no site SCRIPT CENTER:

    http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx?mfr=true

    Aqui você tem muita coisa bacana para iniciar em vbs.

    Marque a resposta que foi útil, clicando em "Marcar como resposta" assim nós finalizamos o post e ajudamos os próximos nas buscas.


    Até mais,

    Jesiel

    quinta-feira, 6 de agosto de 2009 13:11