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();
Но это безобразно.