« エクスプローラから「別のユーザーとして実行」する。 | トップページ | dirコマンドで更新日時の秒まで表示する。 »

2010年1月16日 (土)

「別のユーザーとして実行」して「管理者として実行」する。

別のユーザーの「管理者として実行」するには、「別のユーザーとして実行」してから「管理者として実行」する必要があります。

ユーザ名をハードコードして、パスワードをプロンプトで与える場合、

RunAsUserAdmin0.cmd コマンド [引数...]

set x=%*
runas /user:user "powershell -command \"start-process 'cmd' '/c %x:"=\\\"%' -verb 'runas'\""

ユーザ名をハードコードして、パスワードをダイアログで与える場合、

RunAsUserAdmin1.cmd コマンド [引数...]

set x=%*
powershell -command "start-process 'powershell' '-command \"start-process ''cmd'' ''/c %x:"=\\\"%'' -verb ''runas''\"' -credential (get-credential 'user')"

ユーザ名とパスワードをダイアログで与える場合、

RunAsUserAdmin2.cmd コマンド [引数...]

set x=%*
powershell -command "start-process 'powershell' '-command \"start-process ''cmd'' ''/c %x:"=\\\"%'' -verb ''runas''\"' -credential $null"

ユーザ名とパスワードをハードコードする場合、

RunAsUserAdmin3.cmd コマンド [引数...]

set x=%*
powershell -command "start-process 'powershell' '-command \"start-process ''cmd'' ''/c %x:"=\\\"%'' -verb ''runas''\"' -credential (new-object Management.Automation.PSCredential 'user', (ConvertTo-SecureString -AsPlainText -Force 'password'))"

いずれの場合も、UACダイアログは出ます。

« エクスプローラから「別のユーザーとして実行」する。 | トップページ | dirコマンドで更新日時の秒まで表示する。 »