Seu arquivo em lotes pode usar runas ?
Eu preciso reiniciar um aplicativo usando um serviço em execução na conta SYSTEM. O problema é que o aplicativo também é iniciado na conta SYSTEM. Por várias razões além do meu controle, o sistema de reinicialização é um pouco complicado, mas como resultado de sua complexidade (c), tenho certeza que deve haver pelo menos um estágio em que seja possível especificar a conta na qual o aplicativo será executado. / p>
O serviço chama bounce.bat, que contém o seguinte:
@echo off
cscript "C:\Program Files\myApp\bounce.vbs"
A seção relevante do 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)
Se não houver sugestões inteligentes, tentarei esta abordagem , mas eu Tenho certeza de que deve haver um caminho mais limpo.
Observação: postagem cruzada de SO como o original não estava recebendo nenhuma ação.
Tags batch-file scripting vbscript