Я создаю интерфейс, который позволяет пользователю управлять (помимо прочего) брандмауэром Windows.GUI, который поставляется с Windows, выглядит следующим образом
Мой графический интерфейс написан на Java и использует команды netsh advfirewall firewall
для чтения текущих настроек исохранить изменения.
Некоторые элементы представляют собой отдельные записи в брандмауэре.Однако элемент «Удаленное управление Windows» является одним из «сгруппированных» элементов.Это комбинация нескольких предметов.Вот один из этих элементов в комбинации.
Rule Name: Windows Remote Management - Compatibility
Mode (HTTP-In)
----------------------------------------------------------------------
Enabled: No
Direction: In
Profiles: Private,Public
Grouping: Windows Remote Management
LocalIP: Any
RemoteIP: LocalSubnet
Protocol: TCP
LocalPort: 80
RemotePort: Any
Edge traversal: No
Action: Allow
В этом случае вся группа отключена, но ее можно включить для типа public или private или обоих.(не говоря уже о домене)
При включении этой группы с помощью графического интерфейса Windows, если вы включаете только один из типов, она должна дублировать все элементы в группе.Одна копия для отключенного типа, одна для включенного типа.
Проблема возникает, когда я пытаюсь создать вторую копию.Команда netsh advfirewall firewall add rule
не позволяет мне группировать новые элементы.Значит, я не могу создать вторую копию!Это означает, что, если элемент уже не был продублирован Windows, я могу только включать или отключать оба типа (общий и закрытый), а это не то, что мне нужно.
Как создать эту вторую копию?Любые идеи о том, как сделать это с помощью Java или командной строки?Я обнаружил, что экспорт netsh создает файл байтов.Похоже, это файл байтов реестра.Есть ли способ отредактировать брандмауэр, используя reg query
?Где будут храниться настройки брандмауэра в реестре?Я надеюсь не писать свои собственные .exe
.