RunAsWait
Запускает внешнюю программу от другого пользователя и приостанавливает выполнение скрипта до завершения внешней программы.
RunAsWait ( "username", "domain", "password", logon_flag, "program" [, "workingdir" [, show_flag [, opt_flag ]]] )
Параметры
username | Имя пользователя. |
domain |
Домен для аутентификации. |
password |
Пароль пользователя. |
logon_flag |
0 - интерактивный вход без профиля. 1 - Интерактивный вход с профилем. 2 - Только сетевые учётные данные. 4 - Наследование переменных сред взамен пользователя. |
program |
Полный путь к программе (EXE, BAT, COM, или PIF) для запуска (Смотрите примечания). |
workingdir |
[необязательный] Рабочий каталог. Если не указан, то используется значение @SystemDir. Это не путь к программе. |
show_flag |
[необязательный] Режим отображения запускаемой программы: @SW_HIDE = Скрыть окно (или ключ Default) @SW_MINIMIZE = Свернуть @SW_MAXIMIZE = Развернуть |
opt_flag |
[необязательный] Управление различными опциями взаимодействия процессов родительского и дочернего. 0x10000 ($RUN_CREATE_NEW_CONSOLE) = Дочерний консольный процесс должен быть создан в собственном окне, вместо использования родительского окна. Этот флаг имеет смысл только, когда родительская программа скомпилирована как консольное приложение. |
Возвращаемое значение
Успех: | Возвращает код выхода из программы, которая была запущена. |
Ошибка: | Возвращает 0 и устанавливает @error не равным нулю. |
Примечания
Пути с пробелами должны быть заключены в кавычки.См. также
ProcessWait, ProcessWaitClose, Run, RunWait, ShellExecute, ShellExecuteWait, RunAsПример
; Введите имя пользователя и пароль для вашей системы.
$sUserName = "Username"
$sPassword = "Password"
; Запускает блокнот от имени указанного выше пользователя.
$iReturn = RunAsWait($sUserName, @ComputerName, $sPassword, 0, "notepad.exe")
MsgBox(4096, "", "Блокнот возвратил код выхода." & $iReturn)