Startet ein externes Programm im Kontext eines anderen Benutzers.
RunAs ( "username", "domain", "password", logon_flag, "program" [, "workingdir" [, show_flag [, opt_flag ]]] )
Parameter
| username | Benutzername, mit dem eingeloggt wird. |
| domain | Domäne, gegenüber der man sich authentifiziert. |
| password | Passwort des Benutzers. |
| logon_flag | 0 - Interaktives Logon ohne Profil. 1 - Interaktives Logon mit Profil. 2 - Nur Netzwerk-Authentifizierung. 4 - Übernehme die Umgebung des aufrufenden Prozesses statt der des Benutzers. |
| program | Der komplette Pfad des Programms (.EXE, .BAT, .COM oder .PIF), die ausgeführt werden soll. (siehe Bemerkungen) |
| workingdir | [optional] Arbeitsverzeichnis. Wenn nicht angegeben, wird @SystemDir verwendet. Dies ist nicht der Pfad des Programms. |
| show_flag | [optional] Legt die Sichtbarkeit des ausgeführten Programms fest: @SW_HIDE = Verstecktes Fenster (benutzt alternativ das Schlüsselwort Default). @SW_MINIMIZE = Minimiertes Fenster. @SW_MAXIMIZE = Maximiertes Fenster. |
| opt_flag | [optional] Steuert verschiedene Optionen, die die Interaktion zwischen Parent- und Child-Prozess betreffen (STDIO). 0x1 ($STDIN_CHILD) = Stellt ein Handle zum STDIN-Stream des Child-Fensters bereit. 0x2 ($STDOUT_CHILD) = Stellt ein Handle zum STDOUT-Stream des Child-Fensters bereit. 0x4 ($STDERR_CHILD) = Stellt ein Handle zum STDERR-Stream des Child-Fensters bereit. 0x8 ($STDERR_MERGED) = Stellt das selbe Handle für den STDOUT- und STDERR-Stream bereit (Setzt $STDOUT_CHILD und $STDERR_CHILD). 0x10 ($STDIO_INHERIT_PARENT) = Stellt dem Child-Fenster das Handle zum STDIO-Stream des Parent-Fensters bereit. Kann nicht mit einem anderen STDIO-Flag kombiniert werden. Dieses Flag ist nur dann sinnvoll, wenn die Parent-Anwendung als Kommandozeilenapplikation kompiliert wurde. 0x10000 ($RUN_CREATE_NEW_CONSOLE) = Der Child-Kommandozeilenprozess wird in einem eigenen Kommandozeilenfenster ausgeführt. Dieses Flag ist nur dann sinnvoll, wenn die Parent-Anwendung als Kommandozeilenapplikation kompiliert wurde. |
Rückgabewert
| Erfolg: | Die PID des Prozesses, der gestartet wurde. |
| Fehler: | Gibt 0 zurück und setzt @error auf ungleich Null. |
Bemerkungen
Pfade mit Leerzeichen müssen in Anführungszeichen gesetzt werden.
Verwandte Funktionen
Run, RunWait, RunAsWait, ShellExecute, ShellExecuteWait, StderrRead, StdinWrite, StdoutRead, StdioClose, ProcessClose
Beispiel
; Trage Benutzername und Passwort ein, die deinem System entsprechen.
Local $sUserName = "Benutzername"
Local $sPassword = "Passwort"
; Startet die Kommandozeile als der oben angegebene Benutzer.
RunAs($sUserName, @ComputerName, $sPassword, 0, @ComSpec, @SystemDir)