ServiceController в службе Windows - PullRequest
0 голосов
/ 09 июля 2010

Я пытаюсь использовать метод ServiceController.GetServices (), чтобы получить список всех служб. В консольном приложении все работает нормально, но я получаю пустой список, если вызываю этот метод в службе Windows. Это кажется проблемой аутентификации, но я использовал все параметры учетной записи (Локальная система, Локальная служба, Сетевая служба, Пользователь [который является локальным администратором]), не повезло.

Есть какие-нибудь предложения?

Спасибо

1 Ответ

1 голос
/ 09 июля 2010

Согласен, это проблема привилегий учетной записи пользователя. Перечисление необходимо начать с вызова встроенной функции API OpenSCManager (). Это очень привилегированная функция, документы SDK отмечают, что требуется доступ администратора. Вам нужно будет настроить сервис и дать ему логин администратора. Похоже, вы уже пробовали это. Немного беспокойтесь об UAC, а затем задавайте дополнительные вопросы на serverfault.com, предположительно дом экспертов по безопасности.

...