Как назначить разрешения для управления услугами Windows при включенном UAC?

У меня есть следующий сценарий:

  • Я локальный администратор на моем компьютере с Windows 7 Enterprise и UAC включен
  • Компьютер не находится в домене и не находится под групповой политикой
  • Я запускаю некоторую программу, не запуская ее как администратор
  • Эта программа иногда должна контролировать локально установленную службу Windows (с параметрами ручного запуска)
  • Без запуска начальной программы в качестве администратора или без отключения UAC-управления службами Windows не выполняется.

Как я могу предоставить разрешения моей учетной записи для управления этой конкретной службой без запуска с повышенными привилегиями или отключения UAC?

Сервисы, как и каждый объект Windows, имеют связанный с ним ACL, который может быть изменен, чтобы предоставить вам доступ.

Насколько я знаю, нет официального интерфейса для управления списками ACL, поэтому у вас останутся два варианта:

  1. Загрузите Process Explorer . Запустите службу (ProcExp показывает только запущенные службы). В ProcExp дважды щелкните процесс для Сервиса (или щелкните правой кнопкой мыши и выберите «Свойства»). Перейдите на вкладку «Службы». Обычно ваша программа запускается определенным пользователем. Добавьте этого пользователя. Нажмите «Дополнительно». Разрешения, которыми вы можете управлять, включают в себя остановку / запуск этой Службы и отправку ей определенных команд.

    Process Hacker похож, но также может управлять остановленными службами.

  2. sc showsd , изучить синтаксис ACE и права доступа , отредактировать дескриптор безопасности, передать его обратно в sc setsd .

  • Как программно установить Windows-сервис на C #?
  • Как создать проект InstallShield LE для установки службы Windows?
  • В каком каталоге работает служба Windows?
  • Как общаться с услугой Windows?
  • Как запустить CMD.exe под учетной записью локальной системы?
  • Как связаться с сервисом Windows из приложения, которое взаимодействует с рабочим столом?
  • Как иметь петлю в службе Windows без использования таймера
  • Как служба Windows может запустить процесс при создании события Timer?
  • «Автоматический» и «Автоматический (Задержка запуска)»
  • Ошибка5: доступ запрещен при перезапуске службы журнала событий
  • Консольное приложение .NET как служба Windows
  • Давайте будем гением компьютера.