Como posso iniciar/interromper os aplicativos em um computador diferente?
-
27-09-2019 - |
Pergunta
É possível que um aplicativo C# (Desktop) inicie e interrompa aplicativos em outra máquina?
Não quero dizer em um sentido malicioso, ou mesmo pela Internet. Eu tenho dois computadores em uma sala e preciso de um aplicativo em um para iniciar (e depois parar) e aplicativo no outro.
Uma rota semi-formada em minha mente era usar um programa auxiliar no computador de destino, então suponho que devo salientar que sou capaz de fazer as alterações necessárias em qualquer máquina.
Solução
Se você pode fazer mudanças, existem tantas possibilidades!
- WMI: Nunca tentei isso, mas com direitos suficientes, você deve poder iniciar processos, ou pelo menos serviços em uma máquina remota
- .NET Remoting: um pouco antigo, mas fácil de implementar
- WCF
- Httplistener
- Filas de mensagens privadas (foi o que eu fiz uma vez)
- ?
A maioria das alternativas envolve escrever um pequeno serviço que escuta a técnica de comunicação de sua escolha e depois inicia um processo ou faça outra coisa.
Outras dicas
Um exemplo usando o WMI está no projeto de código:
Mas provavelmente no seu caso um simples PsExec.exe
Chamada pode ser suficiente, por exemplo
Process.Start("psexec.exe", "\\remotehost -u user -p password calc.exe");
psexec.exe da SysInternals ou use PowerShell 2.0 e WMI