Inquiridor
Scritp executa apenas como administrador

Pergunta
-
Alguém pode me informar onde estou errando no meu script que executa apenas quando logo como administrador ??? segue abaixo o script
On Error Resume Next
Const OverwriteExisting = True
Set objFSO = CreateObject("Scripting.FileSystemObject")
' Verifica se existe o arquivo em uma área compartilhada
If objFSO.FileExists("\\192.168.1.30\netlogon\setup_agente_Mtva_jre.exe") Then
' Copia o arquivo para máquina do usuário
objFSO.CopyFile "\\192.168.1.30\netlogon\setup_agente_Mtva_jre.exe" , "C:\"
' Executa a função para instalar o arquivo
InstalaAgente
Else
Wscript.Echo "Arquivo não está disponivel para instalação"
End If
Function InstalaAgente
Set WshShell = Wscript.CreateObject("Wscript.Shell")
Set WshEnv = WshShell.Environment("PRocess")
WshShell.Run "runas.exe /noprofile /user:" & "gentec\administrador" & " " & Chr(34) & "C:\setup_agente_Mtva_jre.exe /SP- /VERYSILENT /PAINEL=192.168.1.90:8080" & Chr(34)
Wscript.Sleep 800
WshShell.AppActivate WshEnv("SystemRoot") & "\system32\runas.exe"
Wscript.Sleep 200
WshShell.SendKeys "Gentec12" & "~"
Wscript.Sleep 5000
Set WshShell = Nothing
Set WshEn = Nothing
End Function
Todas as Respostas
-
Olá,
Tente usar a função abaixo:
Function InstalaAgente
set oShell= Wscript.CreateObject("WScript.Shell")
oShell.Run "runas /noprofile /user:administrador@dominio.local ""C:\setup_agente_Mtva_jre.exe /SP- /VERYSILENT /PAINEL=192.168.1.90:8080"""
WScript.Sleep 100
oShell.Sendkeys "******~"
End Function
Pode ser algum detalhe que como usuário comum está dando erro de permissão.
Você pode fazer também (no ambiente de teste) é comentar a linha on error Resume next.
Assim você consegue verificar algum possível erro que está apresentando.
Só um detalhe: Cuidado com senhas passadas em scripts. Aconselho também no scripts que você enviou edite e coloque asteriscos nas senhas...
Poste os resultados.
Até mais,
Jesiel
Obs.: Se útil, classifique -
Kelton,
Não conheço muito de vbs.
Mas me parece que quando ele chama a função InstalaAgente. A linha de comando chama o runas. Ai ele vai chamar o programa como adimistrador mas não vai executar, pq ele vai ficar esperando a senha.
"WshShell.Run "runas.exe /noprofile /user:" & "gentec\administrador" & " " & Chr(34) & "C:\setup_agente_Mtva_jre.exe /SP- /VERYSILENT /PAINEL=192.168.1.90:8080" & Chr(34) "
Estou com um problema parecido, eu preciso instalar um EXE por script e não estou conseguindo ... Estou começamdo e desistir do script e tentando transformar o EXE em MSI para instalar direto por GPO -
Jesiel,
Eu inclui a função que vc me passou mas nao tive sucesso.
Mas observando bem, eu peço no meu script para verificar a existencia do arquivo e depois copiá-lo para a máquina local antes de executar a função RUNAS como administrador... logo, se eu nao estiver logado como administrador , a copia do arquivo e bloqueada e nao executa o arquivo que deveria estar no C:\ da máquina...funcionado assim somente como administrador...
Agora, teria como no script logar primeiramente como administrador e depois copiar e executar o arquivo ? -
-
-
Kelton,
Ele nen roda o script ?
Se ele não está rodando o script, pode ser que você colocou a GPO no lugar errado.
O problema que eu estou tendo é bem besta.
Eu estou tentando instalar um anti-virus (.exe) usando script.
Tentei .bat primeiro mas não deu
Agora estou tentando por .vbs mas não conheço nada de .vbs .E tudo que eu estou encontrando na net é bem complexo não tem nada ensinando o que é cada linha. -
Na verdade, eu não posso executá-lo pela rede porque o setup é pesado (35 Mb). O Meu cliente prefere que ele seja copiado para cada maquina e executado direto por ela.
Agora , esse problema já foi resolvido. O que deixava executar apenas como administrador da máquina era a politica de GPO contidas no AD do mei cliente ...
Mas agora preciso matar um processo assim que o usuario logue na maquina... Como eu faria isso por script .vbs? -
-