none
Executar Internet Explorer recebendo parametros pelo VBS RRS feed

  • 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.
    quarta-feira, 24 de novembro de 2010 02:43

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 RunScript

    Dim oShell

    strLogin = UsrnameArea.Value
    strSenha = PasswordArea.Value

    set oShell= CreateObject("WScript.Shell")

    oShell.Run "runas /user:" & strLogin & " ""C:\teste.bat"""

    oShell.Run "sleep.vbs", 0, 1

    oShell.Sendkeys strSenha &"~"


    Self.Close()
    End Sub

    Sub 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">&nbsp;&nbsp; <input type="text" name="UsrnameArea" size="30"></td></tr>
    <tr>
    <td height="30">
    <p align="right"> Senha</p>
    </td>
    <td height="30">&nbsp;&nbsp; <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">
    &nbsp;&nbsp;&nbsp;
    <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
    quinta-feira, 25 de novembro de 2010 02:11

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
    quarta-feira, 24 de novembro de 2010 10:48
  • 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.
    quarta-feira, 24 de novembro de 2010 15:44
  • 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"
    quarta-feira, 24 de novembro de 2010 16:38
  • 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.
    quarta-feira, 24 de novembro de 2010 19:07
  • 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 RunScript

    Dim oShell

    strLogin = UsrnameArea.Value
    strSenha = PasswordArea.Value

    set oShell= CreateObject("WScript.Shell")

    oShell.Run "runas /user:" & strLogin & " ""C:\teste.bat"""

    oShell.Run "sleep.vbs", 0, 1

    oShell.Sendkeys strSenha &"~"


    Self.Close()
    End Sub

    Sub 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">&nbsp;&nbsp; <input type="text" name="UsrnameArea" size="30"></td></tr>
    <tr>
    <td height="30">
    <p align="right"> Senha</p>
    </td>
    <td height="30">&nbsp;&nbsp; <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">
    &nbsp;&nbsp;&nbsp;
    <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
    quinta-feira, 25 de novembro de 2010 02:11
  • 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.
    quinta-feira, 25 de novembro de 2010 11:26