Usuário com melhor resposta
Executar Internet Explorer recebendo parametros pelo VBS

Pergunta
-
Olá amigos,
Preciso de um script com a seguinte função:
- Executar o Internet Explorer com uma página da intranet e receber como parâmetro o "user" e "password". Exemplo: teste.vbs %user%%password%, estes parametros são fornecidos pelo usuário numa tela anterior que interage com o ele.
- A página da intranet precisa ser acessada com base nas informações que o usuário fornecer
Desde já agradeço a atenção de todos.
Leonardo Côco .:. MCP / MCDST / MCTS / MCSA / ITILF .:. Se a resposta foi útil classifique-a.
Respostas
-
Entendi!
Acho que assim será melhor!
Salve como HTA. Esse script foi disponibilizado pelo Jesiel a algum tempo atras.
<HTML>
<HEAD>
<TITLE>RUNAS</title>
<HTA:APPLICATION
ApplicationName="RUNAS"
SingleInstance="Yes"
WindowsState="Normal"
Scroll="No"
Navigable="Yes"
MaximizeButton="No"
SysMenu="Yes"
Caption="Yes"
></HEAD><SCRIPT LANGUAGE="VBScript">
Sub Window_Onload
'# Size Window
sHorizontal = 440
sVertical = 175
Window.resizeTo sHorizontal, sVertical
'# Get Monitor Details
Set objWMIService = GetObject _
("winmgmts:root\cimv2")
intHorizontal = sHorizontal *2
intVertical = sVertical *2
Set colItems = objWMIService.ExecQuery( _
"Select ScreenWidth, ScreenHeight from" _
& " Win32_DesktopMonitor", , 48)
For Each objItem In colItems
sWidth= objItem.ScreenWidth
sHeight = objItem.ScreenHeight
If sWidth > sHorizontal _
then intHorizontal = sWidth
If sHeight > sVertical _
then intVertical = sHeight
Next
Set objWMIService = Nothing
'# Center window on the screen
intLeft = (intHorizontal - sHorizontal) /2
intTop = (intVertical - sVertical) /2
Window.moveTo intLeft, intTop
'# default window content
window.location.href="#Top"
End Sub
Sub RunScriptDim oShell
strLogin = UsrnameArea.Value
strSenha = PasswordArea.Valueset oShell= CreateObject("WScript.Shell")
oShell.Run "runas /user:" & strLogin & " ""C:\teste.bat"""
oShell.Run "sleep.vbs", 0, 1
oShell.Sendkeys strSenha &"~"
Self.Close()
End SubSub CancelScript
Set oShell = Nothing
Set objNetwork = Nothing
Self.Close()
End Sub</SCRIPT>
<BODY STYLE="font:14 pt arial; color:white; filter:progid:DXImageTransform.Microsoft.Gradient( GradientType=1, StartColorStr='#000000', EndColorStr='#0000FF')">
<a name="Top"></a><CENTER>
<table border="0" cellpadding="0" cellspacing="0"><font size="2" color="black" face="Arial">
<tr>
<td height="30">
<p align="right">Usuario @dominio.com</p>
</td>
<td height="30"> <input type="text" name="UsrnameArea" size="30"></td></tr>
<tr>
<td height="30">
<p align="right"> Senha</p>
</td>
<td height="30"> <input type="password" name="PasswordArea" size="30"></td></tr>
</table><BR>
<HR color="#0000FF">
<Input id=runbutton class="button" type="button" value=" Executar " name="run_button" onClick="RunScript">
<Input id=runbutton class="button" type="button" value="Cancelar" name="cancel_button" onClick="CancelScript">
</CENTER>
</BODY></HTML>
[]'s
Se util classifique!
" Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"- Marcado como Resposta Leonardo Côco segunda-feira, 5 de setembro de 2011 11:53
Todas as Respostas
-
Bom dia... segue um exemplo do uso do internet explorer. Mas eu aconselho voce solicitar o usuário e senha no proprio sistema de intranet.
Set objExplorer = Wscript.CreateObject("InternetExplorer.Application","IE_") objExplorer.Navigate "http://localhost/intranet/teste.htm" objExplorer.ToolBar = 0 objExplorer.StatusBar = 0 objExplorer.Width = 600 objExplorer.Height = 560 objExplorer.Left = 0 objExplorer.Top = 0 objExplorer.Visible = 1 objExplorer.MenuBar = 0 objExplorer.ToolBar = 0 objExplorer.Resizable = 0 while objExplorer.ReadyState <> 4 wend 'objExplorer.Quit
-
Olá Fabiano,
Obrigado pela resposta, mas minha dúvida é como executar o script recebendo os parâmetros do %user% e %password%, pois a intranet será "executada como..." utilizando estes parâmetros fornecidos pelo usuários.
Leonardo Côco .:. MCP / MCDST / MCTS / MCSA / ITILF .:. Se a resposta foi útil classifique-a. -
Leonardo, boa tarde.
Esse... Executar como... tem como ser salvo na propria execução do arquivo. Assim vc pode pré-configurar ele para ser executado com aquele user e aquela senha. Seria o RUNAS com o parametro SAVECRED: Link: http://social.technet.microsoft.com/Forums/pt-BR/winxppt/thread/f966a769-e226-41a7-84e1-d74c264c5377
Quanto a receber parametros com o VbScript, veja esse código.
' Make sure there are at least 2 arguments. If (Wscript.Arguments.Count < 2) Then Wscript.Echo "Required Parameter missing" Wscript.Quit End If ' Retrieve the user strName = Wscript.Arguments(0) ' Retrieve the password strPass = Wscript.Arguments(1) WScript.Echo "Nome: "&strName&vbCrLf&"Senha: "&strPass
Essa seria a forma de passar um parametro, agora receber no IE ou no "Programa" teria que ser analisado. Ele abre via ie? Usa cookie com autenticação? Recebe os parametros via GET? POST?
[]'s,
" Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda" -
Para entender o contexto do problema:
Existe uma aplicação que ficará disponível na rede, apenas um executável que abre várias opções apontando para outras diversas aplicações que são utilizadas pelos técnicos da empresa, mas para acessar uma determinada opção, que é o site da intranet da empresa, precisa ter direito de acesso, por este motivo é solicitado o "usuário" e "password" quando é selecionado a opção da intranet, então o script executaria a intranet com base nesta informação informada pelos técnicos, , ou seja, a aplicação é acessada com um usuário e a intranet precisa ser executada por outro.
O site da intranet autentica pelo AD, mas não é solicitado senha para acessar o site e apenas alguns usuários tem acesso a este site, por este motivo é solicitado que o cliente insira um usuário e senha antes de executar o script, depois disto preciso passar estes parametros para o script e acessar a intranet com este usuário.
Leonardo Côco .:. MCP / MCDST / MCTS / MCSA / ITILF .:. Se a resposta foi útil classifique-a. -
Entendi!
Acho que assim será melhor!
Salve como HTA. Esse script foi disponibilizado pelo Jesiel a algum tempo atras.
<HTML>
<HEAD>
<TITLE>RUNAS</title>
<HTA:APPLICATION
ApplicationName="RUNAS"
SingleInstance="Yes"
WindowsState="Normal"
Scroll="No"
Navigable="Yes"
MaximizeButton="No"
SysMenu="Yes"
Caption="Yes"
></HEAD><SCRIPT LANGUAGE="VBScript">
Sub Window_Onload
'# Size Window
sHorizontal = 440
sVertical = 175
Window.resizeTo sHorizontal, sVertical
'# Get Monitor Details
Set objWMIService = GetObject _
("winmgmts:root\cimv2")
intHorizontal = sHorizontal *2
intVertical = sVertical *2
Set colItems = objWMIService.ExecQuery( _
"Select ScreenWidth, ScreenHeight from" _
& " Win32_DesktopMonitor", , 48)
For Each objItem In colItems
sWidth= objItem.ScreenWidth
sHeight = objItem.ScreenHeight
If sWidth > sHorizontal _
then intHorizontal = sWidth
If sHeight > sVertical _
then intVertical = sHeight
Next
Set objWMIService = Nothing
'# Center window on the screen
intLeft = (intHorizontal - sHorizontal) /2
intTop = (intVertical - sVertical) /2
Window.moveTo intLeft, intTop
'# default window content
window.location.href="#Top"
End Sub
Sub RunScriptDim oShell
strLogin = UsrnameArea.Value
strSenha = PasswordArea.Valueset oShell= CreateObject("WScript.Shell")
oShell.Run "runas /user:" & strLogin & " ""C:\teste.bat"""
oShell.Run "sleep.vbs", 0, 1
oShell.Sendkeys strSenha &"~"
Self.Close()
End SubSub CancelScript
Set oShell = Nothing
Set objNetwork = Nothing
Self.Close()
End Sub</SCRIPT>
<BODY STYLE="font:14 pt arial; color:white; filter:progid:DXImageTransform.Microsoft.Gradient( GradientType=1, StartColorStr='#000000', EndColorStr='#0000FF')">
<a name="Top"></a><CENTER>
<table border="0" cellpadding="0" cellspacing="0"><font size="2" color="black" face="Arial">
<tr>
<td height="30">
<p align="right">Usuario @dominio.com</p>
</td>
<td height="30"> <input type="text" name="UsrnameArea" size="30"></td></tr>
<tr>
<td height="30">
<p align="right"> Senha</p>
</td>
<td height="30"> <input type="password" name="PasswordArea" size="30"></td></tr>
</table><BR>
<HR color="#0000FF">
<Input id=runbutton class="button" type="button" value=" Executar " name="run_button" onClick="RunScript">
<Input id=runbutton class="button" type="button" value="Cancelar" name="cancel_button" onClick="CancelScript">
</CENTER>
</BODY></HTML>
[]'s
Se util classifique!
" Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"- Marcado como Resposta Leonardo Côco segunda-feira, 5 de setembro de 2011 11:53
-
Olá Marcellus,
Muito bom este script, mas quando executo ele depois de inserir o usuário e password é aberta uma tela do prompt solicitando novamente a senha e depois fecha. Também alterei esta linha do código: oShell.Run "runas /user:" & strLogin & " ""C:\teste.bat""" para outro script que chama o site da intranet e mesmo assim não funcionou.
Sabe o que pode ser?
Leonardo Côco .:. MCP / MCDST / MCTS / MCSA / ITILF .:. Se a resposta foi útil classifique-a.