VISTAとかWindows7とかで管理者権限でインストーラなどのEXEを実行しなきゃいけないとき、RUNASコマンドを使うのが一般的だが、このコマンドはパスワードを手入力する仕様になっている。これを自動化してパスワードを自動入力させたい。そのためのVBScript(WSH)サンプルだ。
仕組みは、SendKeysメソッドを使って、コマンドプロンプト画面にパスワードを挿入している。したがって、スクリプト実行直後にコマンドプロンプト画面を消されたりすると、処理に失敗する可能性がある。あしからず。
なお、VISTAとかWindows7とかでは、管理者権限でEXE実行してもUACには引っかかるからそのつもりで。
Set objShell = CreateObject(“Wscript.Shell”)
intReturn = objShell.Run(“runas ” & strNetonly & ” /user:” & strID & ” cmd”)
‘WScript.Sleep 1000
‘objShell.AppActivate “runas.exe”
WScript.Sleep 1000
objShell.SendKeys strPW
WScript.Sleep 1000
objShell.SendKeys “{enter}”
WScript.Sleep 1000
objShell.AppActivate “cmd”
WScript.Sleep 1000
objShell.SendKeys strSetupFilePath
WScript.Sleep 1000
objShell.SendKeys “{enter}”
WScript.Sleep 5000
WScript.echo strEndingMSG
objShell.AppActivate “cmd”
objShell.SendKeys “exit”
objShell.SendKeys “{enter}”