Runs an external program under the context of a different user.
RunAs ( "username", "domain", "password", logon_flags, "filename" [, "workingdir" [, flag[, standard_i/o_flag]]] )
Parameters
| username | The username to log on with. |
| domain | The domain to authenticate against. |
| password | The password for the user. |
| logon_flags | 0 - Interactive logon with no profile. 1 - Interactive logon with profile. 2 - Network credentials only. 4 - Inherit the calling processes environment instead of the user's. |
| filename | The name of the executable (EXE, BAT, COM, or PIF) to run. |
| workingdir | [optional] The working directory. If not specified, then the value of @SystemDir will be used. |
| flag | [optional] The "show" flag of the executed program: @SW_HIDE = Hidden window (or Default keyword) @SW_MINIMIZE = Minimized window @SW_MAXIMIZE = Maximized window |
| standard_i/o_flag | [optional] Provide a meaningful handle to one or more STD I/O streams of the child process. 1 ($STDIN_CHILD) = Provide a handle to the child's STDIN stream 2 ($STDOUT_CHILD) = Provide a handle to the child's STDOUT stream 4 ($STDERR_CHILD) = Provide a handle to the child's STDERR stream 8 ($STDERR_MERGED) = Provides the same handle for STDOUT and STDERR. Implies both $STDOUT_CHILD and $STDERR_CHILD. |
Return Value
| Success: | The PID of the process that was launched. |
| Failure: | Returns 0 and sets @error to non-zero. |
Remarks
It is important to specify a working directory the user you are running as has access to, otherwise the function will fail.
Related
Run, RunWait, RunAsWait, ShellExecute, ShellExecuteWait, StderrRead, StdinWrite, StdoutRead, StdioClose, ProcessClose
Example
; Fill in the username and password appropriate for your system.
Local $sUserName = "Username"
Local $sPassword = "Password"
; Run a command prompt as the other user.
RunAs($sUserName, @ComputerName, $sPassword, 0, @ComSpec, @SystemDir)