Wir haben in unserem Unternehmen eine Legacy-Anwendung (mit GUI). Da zum manuellen Starten Benutzername und Passwort eingegeben werden müssen, können wir sie nach dem Neustart nicht automatisch starten. Wir brauchen ein Programm, das dies für uns erledigt. Gibt es ein solches Programm? (Startet ein Programm, bei dem Benutzername und Passwort eingegeben werden). Wir verwenden Windows Server 2008.
Antwort1
Sie könnten dies möglicherweise mit VBScript tun. Ich weiß, dass es einen Befehl gibt SendKeys
, der praktisch jede Art von Tastatureingabe an ein über das Skript gestartetes Programm senden kann.
Hier ist eine Möglichkeit, es zu verwenden:
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}"
Hier ist eine andere Methode, es zu verwendenohne 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.
Antwort2
Ich empfehle die Verwendung des Windows-Taskplaners oder der „Geplanten Tasks“, je nach Ihrer Windows-Version. Er eignet sich hervorragend zum Starten von Programmen oder Skripten ohne Benutzereingriff. Sie können Ihren Task so konfigurieren, dass er basierend auf verschiedenen „Auslösern“ oder „Ereignissen“ wie der Tageszeit oder nach einem Neustart gestartet wird. Dies kann ohne Anmeldung erfolgen. Hier ist eineLernprogrammHier erfahren Sie, wie Sie eine Aufgabe einrichten, um nach einem Systemneustart ein Programm zu starten. Möglicherweise müssen Sie einige Parameter ändern, aber die Verwendung ist einfach.