Как удаленно управлять службой Windows с ServiceController?

Я пытаюсь управлять Windows Services, который установлен в удаленном компьютере. Я использую ServiceController класс.

У меня есть это:

ServiceController svc =  new ServiceController("MyWindowsService", "COMPUTER_NAME");

С этим я могу получить состояние службы Windows как это:

string status = svc.Status.ToString();

Но я не могу управлять службой Windows (путем выполнения svc.Start(); или svc.Stop();). Я получаю следующее исключение:

Не может открыть сервис Servicexxx на компьютер 'COMPUTER_NAME'

Это нормально, я предполагаю, что существует что-то, чтобы сделать с правами доступа. Но как? Я изучил Google, но не нашел то, что я искал. Однако я часто читал что-то связанное с олицетворением, но я не знаю то, что это означает.

NB: локальные и удаленные компьютеры оба выполняет Победу XP Pro.

19
задан Luke Girvin 16 May 2017 в 15:48
поделиться

2 ответа

Проблема решена.

Выдача себя за другое лицо заключается в запуске фрагмента кода с использованием определенного пароля для входа в систему. Я нашел этот очень полезный проект: http://www.codeproject.com/KB/cs/svcmgr.aspx?display=Print , который мне очень помог!

9
ответ дан 30 November 2019 в 05:04
поделиться

Запуск и остановка служб - это высокопривилегированная операция, обычно доступная только администраторам. Убедитесь, что используемая вами учетная запись пользователя обладает достаточными привилегиями на целевой машине. Задайте дополнительные вопросы об этом на serverfault.com

7
ответ дан 30 November 2019 в 05:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: