none
Registrar DLL via GPO RRS feed

  • Pergunta

  • Prezados

    Preciso fazer a cópia de 3 dlls de uma pasta compartilhada no servidor para várias máquinas no domínio e depois registrar as respectivas dlls.

    Tinha elaborado o seguinte script vbs:

    Set WshShell = WScript.CreateObject("WScript.Shell")
    
    WshShell.Run "runas /user:meu_user@meudominio.com.br cmd.exe", 9
    
    Wscript.Sleep 4000
    
    WshShell.SendKeys "password" + "{Enter}"
    
    Wscript.Sleep 4000
    
    WshShell.SendKeys "copy \\sharedfolder\DLL\*.* C:\WINDOWS\system32" + "{Enter}"
    
    WshShell.SendKeys "Regsvr32 /s C:\WINDOWS\system32\dll-1" + "{Enter}"
    
    WshShell.SendKeys "Regsvr32 /s C:\WINDOWS\system32\dll-2" + "{Enter}"
    
    WshShell.SendKeys "Regsvr32 /s C:\WINDOWS\system32\dll-3" + "{Enter}"
    
    WshShell.SendKeys "exit" + "{Enter}"
    
    

    Para fins de teste, eu copio este vbs para uma máquina de teste e clico duas vezes, ele executa perfeitamente, copiando as dlls e resgistrando, mas quando tento fazer via GPO, colocando no Start Up  isso não acontece.  Hora o cmd fica aberto com o user de dominio logado, hora o cmd abre e fecha rapidamente e não executa nenhuma das operações.

    Alguem pode me ajudar ou explicar o que está ocorrendo? ou alguma outra forma de fazer o que preciso ?

    desde já obrigado

    abraço,

    Fabian

     

     

     

     

    quinta-feira, 27 de maio de 2010 20:34

Respostas

  • Boa noite,

    Salve o script como vbs.

    Const OverwriteExisting = True
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set WshShell = WScript.CreateObject("WScript.Shell")

    objFSO.CopyFile "\\sharedfolder\DLL\*.*" , "C:\WINDOWS\system32\" , OverwriteExisting

    WshShell.run "Regsvr32 /s C:\WINDOWS\system32\dll-1"

    WshShell.run "Regsvr32 /s C:\WINDOWS\system32\dll-2"

    WshShell.run "Regsvr32 /s C:\WINDOWS\system32\dll-3"

    Pra funcionar adicione na GPO nas configurações de computador...Computer Configuration-> Windows Settings -> Scripts.

    De permissão de leitura para o grupo usuarios autenticados na pasta que as dlls estão no servidor.

    Qualquer dúvida poste e se for útil vote.

    Abraço.


    Gabriel Nascimento MCP / MCSA / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.
    • Marcado como Resposta Fabian Casanova sexta-feira, 28 de maio de 2010 19:53
    sexta-feira, 28 de maio de 2010 03:34

Todas as Respostas

  • Boa noite,

    Salve o script como vbs.

    Const OverwriteExisting = True
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set WshShell = WScript.CreateObject("WScript.Shell")

    objFSO.CopyFile "\\sharedfolder\DLL\*.*" , "C:\WINDOWS\system32\" , OverwriteExisting

    WshShell.run "Regsvr32 /s C:\WINDOWS\system32\dll-1"

    WshShell.run "Regsvr32 /s C:\WINDOWS\system32\dll-2"

    WshShell.run "Regsvr32 /s C:\WINDOWS\system32\dll-3"

    Pra funcionar adicione na GPO nas configurações de computador...Computer Configuration-> Windows Settings -> Scripts.

    De permissão de leitura para o grupo usuarios autenticados na pasta que as dlls estão no servidor.

    Qualquer dúvida poste e se for útil vote.

    Abraço.


    Gabriel Nascimento MCP / MCSA / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.
    • Marcado como Resposta Fabian Casanova sexta-feira, 28 de maio de 2010 19:53
    sexta-feira, 28 de maio de 2010 03:34
  • Boa noite,

    Salve o script como vbs.

    Const OverwriteExisting = True
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set WshShell = WScript.CreateObject("WScript.Shell")

    objFSO.CopyFile "\\sharedfolder\DLL\*.*" , "C:\WINDOWS\system32\" , OverwriteExisting

    WshShell.run "Regsvr32 /s C:\WINDOWS\system32\dll-1"

    WshShell.run "Regsvr32 /s C:\WINDOWS\system32\dll-2"

    WshShell.run "Regsvr32 /s C:\WINDOWS\system32\dll-3"

    Pra funcionar adicione na GPO nas configurações de computador...Computer Configuration-> Windows Settings -> Scripts.

    De permissão de leitura para o grupo usuarios autenticados na pasta que as dlls estão no servidor.

    Qualquer dúvida poste e se for útil vote.

    Abraço.


    Gabriel Nascimento MCP / MCSA / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.

      Gabriel,

    Funcionou!!!!!

    Tive apenas que adicionar Wscript.Sleep entre as linhas do registro das dlls para funcionar pela gpo.

    Grande abraço e muito obrigado!

    Fabian Casanova

     

     

     

     

    sexta-feira, 28 de maio de 2010 19:55
  • Boa tarde!

    Fabian, como você fez? não consegui fazer funcionar aqui. Poderia me ajudar?
    quinta-feira, 19 de abril de 2018 21:05