Tenemos una aplicación heredada (con GUI) en nuestra empresa. Debido a que necesita ingresar un usuario y contraseña para iniciarse manualmente, no podemos iniciarlo automáticamente después de reiniciar. Necesitamos un programa que haga esto por nosotros. ¿Existe algún programa de este tipo? (inicia un programa, ingresa el usuario y la contraseña). Estamos usando Windows Server 2008.
Respuesta1
Potencialmente podrías hacer esto usando VBScript. Sé que hay un SendKeys
comando que puede enviar prácticamente cualquier tipo de entrada de teclado a un programa iniciado mediante el script.
Aquí tienes una forma de usarlo.:
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.run "runas /user:domain\user %comspec%" 'Open command prompt
WScript.Sleep 1000
WshShell.SendKeys "password" 'send password
WshShell.SendKeys "{ENTER}"
WScript.Sleep 1000
'Open IE
WshShell.SendKeys Chr(34) + "C:\PROGRAM FILES\INTERNET EXPLORER\IEXPLORE.EXE"_
+ Chr(34)
WshShell.SendKeys "{ENTER}"
WshShell.SendKeys "exit" 'Close command prompt
WshShell.SendKeys "{ENTER}"
WScript.Sleep 1000
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "http://www.microsoft.com" 'Send internet page to open to IE
WshShell.SendKeys "{ENTER}"
Aquí hay otro método para usarlo.sin WshShell
:
Dim ProcID As Integer
' Start the Calculator application, and store the process id.
ProcID = Shell("CALC.EXE", AppWinStyle.NormalFocus)
' Activate the Calculator application.
AppActivate(ProcID)
' Send the keystrokes to the Calculator application.
My.Computer.Keyboard.SendKeys("22", True)
My.Computer.Keyboard.SendKeys("*", True)
My.Computer.Keyboard.SendKeys("44", True)
My.Computer.Keyboard.SendKeys("=", True)
' The result is 22 * 44 = 968.
Respuesta2
Recomiendo utilizar el 'Programador de tareas' de Windows o las 'Tareas programadas' según su versión de Windows. Es fantástico para iniciar programas o ejecutar scripts sin intervención del usuario. Puede configurar su tarea para que comience en función de diferentes "desencadenantes" o "eventos", como la hora del día o después de un reinicio. Puede hacer esto sin necesidad de iniciar sesión. Aquí hay untutorialque le mostrará cómo configurar una tarea para iniciar un programa después de reiniciar el sistema. Es posible que necesites cambiar algunos de los parámetros, pero es fácil de usar.