none
Script sem pedir senha no prompt RRS feed

  • Pergunta

  • Pessoal,

    Preciso de ajuda de vocês. Tenho que atualizar um arquivo em 500 computadores do parque. Criei um script para atualizar, porem ele precisa de direito de administrador rodar os comandos que estão dentro do bat.

    Criei da seguinte forma:

    Option explicit
    Dim oShell
    set oShell= Wscript.CreateObject("WScript.Shell")
    oShell.Run "runas /noprofile /user:meudominio.local\helpdesk""\\192.16.1.18\public\atutasy.bat"
    WScript.Sleep 100
    oShell.Sendkeys "banana123~"
    Wscript.Quit

    Porem , ele solicita que a senha seja digitada.

    Sei que enviar senha não é seguro, só por questão de 2 ou 3 dias para atualizar as maquinas, depois vou excluir o script. Até tentei fazer por GPO, mas tem muitas maquinas que não estão aplicando corretamente a GPO, por isso não quero correr o risco, e atraves do script de inicialização vejo como a melhor forma.

    O comando oShell.Sendkeys não envia a senha ? Por que ele está pedindo para digitar ?


    sexta-feira, 27 de outubro de 2017 14:33

Todas as Respostas

  • Ola, fabio, Boa tarde.

    Existe sim uma forma de enviar a senha, porem nao seria mais interessante e seguro voce executar isto via PSEXEC? Voce pode trabalhar com um for por exemplo utilizando uma lista de computadores.

    sexta-feira, 27 de outubro de 2017 15:33
  • Como seria essa opção para enviar a senha ?

    Até pensei em criar pelo PSEXEC, mas o executavel não precisa estar em todas as maquinas ? 

    Como utilizaria o psexec para copia de arquivos para o c$ das estações, poderia dar um exemplo ?

    sexta-feira, 27 de outubro de 2017 16:57
  • Voce poderia usar o psexec primeiramente para fazer a copia do arquivo e posteriormente para executar o arquivo no destino que foi copiado o arquivo.

    Para copiar:

    psexec \\server -u adminuser -p adminpassword -w D:\Apps\arquivo.bat -c D:\Apps\arquivo.bat

    Para executar:

    psexec \\server -u username -p password -i drive:\folder\program_copy.bat

    sexta-feira, 27 de outubro de 2017 17:28
  • Voce poderia usar o psexec primeiramente para fazer a copia do arquivo e posteriormente para executar o arquivo no destino que foi copiado o arquivo.

    Para copiar:

    psexec \\server -u adminuser -p adminpassword -w D:\Apps\arquivo.bat -c D:\Apps\arquivo.bat

    Para executar:

    psexec \\server -u username -p password -i drive:\folder\program_copy.bat

    OBS: voce pode adicionar tudo isso em um FOR, por exemplo, cria um .txt com os nomes dos computadores um abaixo do outro e executa...

    for /f %i in (Computadores.txt) do psexec \\%i -u ******* -p ****** -w D:\Apps\arquivo.bat -c D:\Apps\arquivo.bat

    for /f %i in (Computadores.txt) do psexec \\%i -u ******* -p ****** -i D:\Apps\arquivo.bat

    sexta-feira, 27 de outubro de 2017 17:31
  • Gabriel, na realidade acho que consigo fazer isso em um passo só. 

    Pois preciso copiar o arquivo TNSNAMES.ORA para a pasta C:\Oracle\product\12.1.0\client_1\network\admin , sem a necessidade de executar.

    Consigo fazer com o primeiro for que você deu no exemplo ?

    for /f %i in (Computadores.txt) do psexec \\%i -u dominio\administrator -p ****** -w C:\teste\TNSNAMES.ORA -c C:\Oracle\product\12.1.0\client_1\network\admin\TNSNAMES.ORA

    Seria isso ?

    • Sugerido como Resposta Gabriel S Almeida quarta-feira, 1 de novembro de 2017 13:15
    • Não Sugerido como Resposta Gabriel S Almeida quarta-feira, 1 de novembro de 2017 13:15
    segunda-feira, 30 de outubro de 2017 11:27
  • Exatamente.
    segunda-feira, 30 de outubro de 2017 16:14
  • Olá Fabiomb77,

    Voce poderia nos informar se o procedimento acima resolveu o seu problema?

    A disposição,

    Marcos Roberto de Lima
    MCT-MCTS-MCITP-MCP

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 31 de outubro de 2017 14:29