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 -
-d
significa "não esperar pela saída" - útil para aplicativos interativos com GUI -
-s
significa "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)