Каковы права пользователя на изменение правил брандмауэра Windows?

Я пытаюсь использовать COM-объекты из FirewallAPI.dll для программной установки правил брандмауэра Windows из приложения С#. Приложение должно работать под учетной записью пользователя, не входящего в группу администраторов.

Я изо всех сил пытаюсь установить разрешения этой учетной записи пользователя для изменения брандмауэра.

Я дал этому пользователю полный доступ к HKLM\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy, не помогает.

Когда я пытаюсь использовать INetFwRule::put_RemoteAddresses, я получаю исключение отказа в доступе. Как получить информацию о том, каких прав не хватает?


person facetus    schedule 01.12.2014    source источник
comment
Вам нужны права администратора.   -  person Andre Hofmeister    schedule 01.12.2014


Ответы (1)


Я нашел ответ. У пользователя должна быть группа «Операторы конфигурации сети», указанная с обязательным флагом в ее маркере безопасности.

Этого можно добиться, добавив пользователя в группу «Операторы конфигурации сети» и запустив процесс с повышенными привилегиями. Без повышенной целостности группа будет указана с флагом «Запретить», и пользователь по-прежнему не будет иметь доступа.

person facetus    schedule 09.12.2014
comment
Спасибо за это @facetus. В моем случае я пишу службу Windows для управления определенным правилом брандмауэра Windows. Я обнаружил, что добавления пользователя в упомянутую вами группу было достаточно, чтобы заставить его работать. Возможно, выполнение кода как службы считается повышенным. - person Mike; 06.07.2019
comment
Самое смешное, что мне пришлось разобрать библиотеки Microsoft, чтобы найти ответ. Люди из Microsoft Tech Network ничего не знали. - person facetus; 07.07.2019