Как я могу запускать / останавливать приложения на другом компьютере?
Возможно ли для одного приложения C# (рабочего стола) запускать и останавливать приложения на другом компьютере?
Я не имею в виду в злонамеренном смысле, или даже через Интернет. У меня есть два компьютера в комнате, и мне нужно приложение на одном для запуска (а затем остановки) и приложение на другом.
Один наполовину сформировавшийся маршрут в моем сознании состоял в том, чтобы использовать вспомогательную программу на целевом компьютере, поэтому я полагаю, что мне следует указать, что я полностью могу внести любые необходимые изменения в любую машину.
3 ответа
Если вы можете внести изменения, есть так много возможностей!
- WMI: Никогда не пробовал, но при наличии достаточных прав вы сможете запускать процессы или, по крайней мере, службы на удаленной машине.
- .NET remoting: довольно старый, но простой в реализации
- WCF
- HttpListener
- Личные очереди сообщений (это то, что я делал однажды)
- ?
Большинство альтернатив включают в себя написание небольшого сервиса, который прослушивает выбранную вами коммуникационную технику, а затем запускает процесс или делает что-то еще.
Пример использования WMI находится на Code Project:
Но, вероятно, в вашем случае простой PsExec.exe
звонка может быть достаточно, например
Process.Start("psexec.exe", "\\remotehost -u user -p password calc.exe");
psexec.exe от sysinternals или используйте Powershell 2.0 и WMI