Você vai achar isso extremamente difícil, se não impossível, para fazer. Você pensaria que seria fácil, mas não é. A Microsoft tornou isso propositadamente difícil porque expõe um tipo de vulnerabilidade de segurança (ataques de "estilhaçamento") se você puder manipular o gerenciador de janelas no contexto de segurança de outro usuário.
O recurso Isolamento da Sessão 0 , introduzido no Windows Vista, torna É difícil para um programa de serviço (como PsExec
) interagir com o console. Quando o serviço de Detecção de Serviços Interativos estiver em execução, o usuário será solicitado, quando um serviço tentar interagir com o console, a mudar para uma área de trabalho segura para interagir com a GUI do serviço.
Existem algumas discussões sobre o Stackoverflow que detalham os detalhes da arquitetura.
Uma maneira melhor de lidar com isso seria fazer com que o usuário execute um processo que ouça algum tipo de comunicação entre processos e aja de acordo. Se você quisesse realmente hackish, poderia rodar um simples script VBScript ou Powershell que ficava em segundo plano, quando o usuário fazia o login e aguardava por uma entrada de arquivo / registro / conexão TCP / etc e então agia. Você poderia remendar algo assim juntos como uma prova de conceito rapidamente.