VBScript で 別サーバにある VBScriptファイル を ユーザーアカウント制御の許可なし に実行する
クライアントPCに プログラムA があり、サーバーPCに プログラムB がある。
プログラムA から プログラムB を呼び出している。
Windows10 で プログラムA を実行し、プログラムA から プログラムB を呼び出した時、ユーザーアカウント制御の許可を求められる事がわかった。
Windows7 では、そんな事なかったと思うんだけど、変わったのかな。
プログラムA から 別PCにある プログラムB を実行する(プロセスを発生させる)とユーザーアカウント制御対象になるのだろうか。
であれば、プログラムA で プログラムB を読み込んで、自身のプロセス上で実行できれば、ユーザーアカウント制御を回避できるのではないか?と思い、試してみたらできました。
前提条件
A.vbs 変更前
' プログラムBの呼び出し Dim wshShell Set wshShell = WScript.CreateObject("WScript.Shell") wshShell.Run NET_PATH + "B.vbs", 0, TRUE Set wshShell = Nothing
A.vbs 変更後
' プログラムBを読み込んで処理を呼び出し ExecuteGlobal CreateObject("Scripting.FileSystemObject").OpenTextFile(NET_PATH + "B.vbs").ReadAll() Call Main() ' プログラムBの処理