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