Мой код работает нормально на одном компьютере, но тот же код генерирует код ошибки 5 (доступ запрещен) на другом компьютере. По существу, вызов ::OpenService() не выполняется из-за флага SERVICE_START поскольку у пользователя нет прав на запуск службы. Я знаю, потому что он запускает службу, если я запускаю приложение от имени администратора.

Мне нужны те же привилегии на втором компьютере, чтобы любой пользователь мог запустить службу, но не мог понять, какие настройки за это ответственны. Я посмотрел в групповой политике >> Конфигурация компьютера >> Настройки Windows >> Параметры безопасности >> Локальные политики >> Распределение прав пользователя.

Я не знаю, смотрю ли я даже на правильное место. Кто-нибудь знает?

1 ответ1

0

Для этого нет глобальной привилегии. Вместо этого все сервисы имеют свои собственные ACL - хотя вы не можете увидеть их через services.msc, только через sc sdshow/sc sdset или стороннее программное обеспечение. (Process Hacker - одна из таких программ; она включает графический редактор ACL на вкладке «Службы».)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .