Scripting

以不同使用者身份執行應用程序 (.bat / .vbs)

  • April 13, 2011

我需要使用在 SYSTEM 帳戶上執行的服務重新啟動應用程序。問題是應用程序隨後也在 SYSTEM 帳戶下啟動。由於我無法控制的各種原因,重啟系統有點複雜,但由於其複雜性(c),我確信必須至少有一個階段可以指定最終執行應用程序的帳戶。

該服務呼叫bounce.bat,其中包含以下內容:

@echo off
cscript "C:\Program Files\myApp\bounce.vbs"

bounce.vbs 的相關部分是:

Set oProcess = oWMIService.Get("Win32_Process")
Set oProgram = oProcess.Methods_("Create").InParameters.SpawnInstance_
oProgram.CommandLine = sPath & sExe   
Set sShell = oWMIService.ExecMethod("Win32_Process", "Create", oProgram)

如果沒有聰明的建議,我會嘗試這種方法,但我相信一定有更清潔的方法。

注意:從SO交叉發布,因為原件沒有採取任何行動。

您的批處理文件可以使用runas嗎?

引用自:https://serverfault.com/questions/259129