Как удалить дублирующиеся правила брандмауэра Windows
Что это такое
Дублирующиеся правила — это записи в настройках брандмауэра, которые выглядят одинаково, но могут отличаться по контексту (портам, профилям, программе и т. д.). Одной строкой: правило — набор условий, по которым разрешается или блокируется трафик.
Где хранятся правила брандмауэра
Правила хранятся в реестре и в системных настройках. Путь в реестре (для справки): Software\Policies\Microsoft\WindowsFirewall\FirewallRules.
Как удалить дублирующиеся правила
Ниже — два безопасных подхода: ручной и автоматический. Всегда сначала создайте резервную копию и документируйте изменения.
1. Ручное удаление через параметры брандмауэра
Важно: удаление правил может привести к проблемам с сетью. Если сомневаетесь, сначала отключите правило.
- Нажмите клавишу Windows + S и введите defender. Выберите Брандмауэр Защитника Windows с расширенной безопасностью.

- В левой панели выберите либо “Исходящие правила”, либо “Входящие правила”.

- Выделяйте несколько правил с помощью Shift или Ctrl и клика мышью.

- После выбора повторяющихся правил щёлкните правой кнопкой и нажмите Удалить или выберите Отключить для безопасной проверки.

- Подтвердите действие, нажав Да.

- Повторите для всех правил, которые вы уверенно считаете лишними.
Совет: вместо удаления временно отключите правило и проверьте работу приложений в течение 24–72 часов.
2. Автоматический способ: PowerShell-скрипт для поиска и удаления дубликатов
Этот метод быстрее, но требует прав администратора и базовых знаний PowerShell. Сценарий группирует правила с одинаковыми свойствами и удаляет дополнительные копии, оставляя одну.
- Откройте Блокнот.
- Вставьте следующий код в файл:
# Here we use `netsh advfirewall firewall show` to get all firewall rules, since it's way faster than Get-NetFirewallRule!!!!!!!
$output = (netsh advfirewall firewall show rule name=all verbose | Out-String).Trim() -split '\r?\n\s*\r?\n'
$propertyNames = [System.Collections.Generic.List[string]]::new()
$objects = @( $(foreach($section in $output ) {
$obj = @{}
foreach( $line in ($section -split '\r?\n') ) {
if( $line -match '^\-+$' ) { continue }
$name, $value = $line -split ':\s*', 2
$name = $name -replace " ", ""
$obj.$name = $value
if($propertyNames -notcontains $name) {
$propertyNames.Add( $name )
}
}
$obj }) | % {
foreach( $prop in $propertyNames ) {
if( $_.Keys -notcontains $prop ) {
$_.$prop = $null
}
}
[PSCustomObject]$_ })
$r = $objects | Group-Object -Property RuleName, Program, Action, Profiles, RemoteIP, RemotePort, LocalIP, LocalPort, Enabled, Protocol, Direction
# If you want to take a look
# $r | ?{$_.Count -gt 1} | Select-Object -ExpandProperty group | Out-GridView
$r | ?{$_.Count -gt 1} | %{
$name = $_ | Select-Object -ExpandProperty group | Select-Object -ExpandProperty RuleName -First 1
# Here we have to use this cmdlet, since `netsh advfirewall firewall delete` can't differentiate rules with the same names and will delte them all!
Get-NetFirewallRule -DisplayName $name | Select-Object -Skip 1 | Remove-NetFirewallRule }- В Блокноте выберите “Файл” → Сохранить как.

- Установите тип “Все файлы” и имя файла: firewall.ps1, затем нажмите Сохранить.

- Нажмите Windows + S, введите powershell и запустите PowerShell от имени администратора.

- Перейдите в папку с файлом, например:
cd C:\Users\WindowsReport\Documents 
- Запустите скрипт:
firewall.ps1. Скрипт найдет группы идентичных записей и удалит дополнительные копии.
Примечание: скрипт использует команды Get-NetFirewallRule и Remove-NetFirewallRule. Если вы не знакомы с ними, сначала просмотрите вывод, не выполняя удаления.
Советы по очистке правил
- Проверяйте правила перед удалением: одинаковый DisplayName не всегда означает полную дубликацию.
- Предпочтительнее временно отключать правила, а не удалять.
- Удаляйте только явно лишние или устаревшие правила.
- Используйте метки и описания в правилах для удобства (Label/Description при создании правила).
Альтернативные подходы
- Экспорт/импорт: экспортируйте текущие правила в файл, отредактируйте и импортируйте обратно. Подходит для массовых правок в тестовой среде.
- Групповые политики (GPO): если у вас домен, централизованно управлять правилами проще через GPO — это предотвратит повторное появление нежелательных правил.
- Netsh: для быстрого просмотра можно использовать
netsh advfirewall firewall show rule name=all.
Когда это может не сработать
- Правила создаются внешними приложениями (антивирус, VPN-клиент): после удаления они могут восстановиться при следующем запуске программы. Надо изменить настройки приложения или удалить правило из шаблона, который его создаёт.
- Разные контексты: правила с одинаковым именем, но различными свойствами (например, для IPv4 и IPv6) не следует считать дубликатами.
Мини-методология (быстрая проверка, 6 шагов)
- Экспорт правил (резервная копия).
- Обнаружение подозрительных совпадений (по имени, программе, порту).
- Отключение предполагаемого дубликата и тест работы приложений.
- Если проблем нет — удалить правило окончательно.
- Прописать изменения в документации.
- Мониторить систему 24–72 часа.
Ролевые чеклисты
Администратор:
- Проверить GPO и сторонние агенты на предмет создания правил.
- Экспортировать правила и сохранять копии.
- Запускать автоматический скрипт на тестовом хосте перед применением в проде.
Пользователь с правами (power user):
- Отключать правило и тестировать приложение.
- Сообщать администратору о повторяющемся появлении правил.
Критерии приёмки
- Повторов с идентичными свойствами не осталось.
- Бизнес-приложения не перестали работать после удаления.
- Документация обновлена и доступна команде.
Диаграмма принятия решения
flowchart TD
A[Обнаружены похожие правила] --> B{Правило создано приложением?}
B -- Да --> C[Проверить настройки приложения или обновить шаблон]
B -- Нет --> D[Отключить правило на 24–72 часа]
D --> E{Проблем нет?}
E -- Да --> F[Удалить правило и задокументировать]
E -- Нет --> G[Включить правило и откатить изменения]Глоссарий
- Правило: набор условий для разрешения/блокировки трафика.
- DisplayName: отображаемое имя правила.
- Profiles: набор сетевых профилей (Domain, Private, Public).
Резюме
Дублирующиеся правила в брандмауэре можно и нужно устранять осторожно: сначала анализируйте и отключайте, затем удаляйте, только убедившись, что правило действительно лишнее. Для массовой очистки используйте проверенные скрипты и всегда работайте с резервными копиями и документированием.
Читатели: поделитесь, встречали ли вы дубликаты правил и как их решали. Это поможет выбрать лучший подход для разных сценариев.
Похожие материалы
Как распознать AI‑фейки в Facebook и соцсетях
Как дешево и безопасно очистить сенсор DSLR
Как исправить повреждённый реестр Windows 7
Как защитить iPhone: 6 ключевых шагов
Как создать папку в Outlook — настольный, веб и мобильный