C# запуск удаленного сервиса на виртуальной машине

У меня есть хост, который запускает несколько виртуальных машин, на каждой виртуальной машине работает сервис, который отлично работает локально, но когда я пытаюсь выполнить его удаленно от хоста, я получаю отказ в доступе. Я уже некоторое время искал в Google, олицетворение не работает, потому что учетная запись хоста сильно отличается от учетной записи виртуальной машины. Я использую следующий код для запуска удаленного сервиса.

ServiceController sc = new ServiceController("ExecuterService", "servername");
sc.Start(id);

теперь мой вопрос: есть ли способ аутентификации моего приложения на C#, чтобы оно могло запустить удаленную службу, например, просто указав учетные данные пользователя для этой машины?

1 ответ

Решение

Если хост-приложение имеет правильные права доступа, вы можете обойти и использовать вызов процесса для команд консоли NET:

ProcessStartInfo processInfo = new ProcessStartInfo("NET", "start ExecuterService");
Process process = Process.Start(processInfo);
p.WaitForExit();

Но это безобразно.

Другие вопросы по тегам