別ユーザーの権限で外部プログラムを実行します。
RunAs ( "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 = 非表示ウィンドウ (デフォルト) @SW_MINIMIZE = 最小化ウィンドウ @SW_MAXIMIZE = 最大化ウィンドウ |
opt_flag | [オプション]
親プロセスと子プロセスの連携方法に関連したさまざまなオプションを制御します。 0x1 ($STDIN_CHILD) = 子のSTDINストリームのハンドルを提供します。 0x2 ($STDOUT_CHILD) = 子のSTDOUTストリームのハンドルを提供します。 0x4 ($STDERR_CHILD) = 子のSTDERRストリームのハンドルを提供します。 0x8 ($STDERR_MERGED) = STDOUTとSTDERRを同じハンドルで提供します。$STDOUT_CHILDと$STDERR_CHILDの両方を設定するのと同じです。 0x10 ($STDIO_INHERIT_PARENT) = 親のSTDIOストリームを子に提供します。このフラグを他のSTDIOフラグと組み合わせることはできません。このフラグは親をコンソールアプリケーションとしてコンパイルした場合のみ使用できます。 0x10000 ($RUN_CREATE_NEW_CONSOLE) = 子コンソールプロセスは親のウィンドウを使用する代わりに独自のウィンドウを作成します。 このフラグは親をコンソールアプリケーションとしてコンパイルした場合のみ使用できます。 |
返し値
成功 | 立ち上がったプロセスのPID |
失敗 | 0を返し、@errorを非ゼロに設定します。 |
注意
スペースを含むパスはコーテーションマークで囲む必要があります。
関連
Run, RunWait, RunAsWait, ShellExecute, ShellExecuteWait, StderrRead, StdinWrite, StdoutRead, StdioClose, ProcessClose
例
; 実行するシステムのユーザー名とパスワードを正しく設定すること
Local $sUserName = "Username"
Local $sPassword = "Password"
; 別ユーザーとしてコマンドプロンプトを実行
RunAs($sUserName, @ComputerName, $sPassword, 0, @ComSpec, @SystemDir)