Suponho que você esteja procurando por execução remota. O PsExec do pacote SysInternals implementa isso. Ele usa essa função CreateProcessAsUser .
Basicamente, o que você precisa é executar algo assim:
PsExec.exe \$Hostname -d -s -u $UserName -p $Password $PathToApp [$Arguments]
onde
-
$Hostname- nome do seu servidor -
$UserName- nome de usuário do usuário em qual sessão você deseja que o aplicativo apareça -
$Password- sua senha -
-dsignifica "não esperar pela saída" - útil para aplicativos interativos com GUI -
-ssignifica "executar aplicativo como usuário especificado" -
$PathToApp- aplicativo que você deseja executar na sessão do usuário -
[$Arguments]- argumentos de linha de comando para o aplicativo; (parênteses significa que é um parâmetro opcional)