У нас в компании есть устаревшее приложение (с графическим интерфейсом). Поскольку для его запуска требуется вручную ввести имя пользователя и пароль, мы не можем автоматически запустить его после перезагрузки. Нам нужна программа, которая сделает это за нас. Есть ли такая программа? (запускает программу, вводит имя пользователя и пароль). Мы используем Windows Server 2008.
решение1
Потенциально это можно сделать с помощью VBScript. Я знаю, что есть SendKeys
команда, которая может отправить практически любой ввод с клавиатуры в программу, запущенную через скрипт.
Вот один из способов его использования.:
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}"
Вот еще один способ его использования.без 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.
решение2
Я бы рекомендовал использовать «Планировщик заданий» или «Запланированные задания» Windows в зависимости от вашей версии Windows. Это отлично подходит для запуска программ или запуска скриптов без вмешательства пользователя. Вы можете настроить запуск своей задачи на основе различных «триггеров» или «событий», таких как время суток или после перезагрузки. Это можно сделать без входа в систему. Вотруководствокоторый покажет вам, как настроить задачу для запуска программы после перезагрузки системы. Возможно, вам придется изменить некоторые параметры, но это просто в использовании.