
De acordo com issoArtigo MSDN:
Importante Os serviços não podem interagir diretamente com um usuário no Windows Vista. Portanto, as técnicas mencionadas na seção intitulada Usando um serviço interativo não devem ser usadas em código novo.
Por que psexec \\REMOTEPCNAME -i -s cmd
ainda funciona corretamente e inicia um prompt de comando no NT AUTHORITY\SYSTEM
contexto? O SysInternals possui códigos de trapaça do Windows?
Responder1
O serviço psexec possui privilégios suficientes (SeTcbPrivilege) para obter tokens para outras sessões comWTSQueryUserToken(que então dá aCriarProcessAsUserou algo semelhante).
Veja também:http://www.remkoweijnen.nl/blog/2007/10/20/how-to-launch-a-process-in-a-terminal-session/