Гид по технологиям

Как удалить дублирующиеся правила брандмауэра Windows

4 min read Windows Обновлено 17 Dec 2025
Удаление дубликатов правил брандмауэра Windows
Удаление дубликатов правил брандмауэра Windows

Что это такое

Дублирующиеся правила — это записи в настройках брандмауэра, которые выглядят одинаково, но могут отличаться по контексту (портам, профилям, программе и т. д.). Одной строкой: правило — набор условий, по которым разрешается или блокируется трафик.

Где хранятся правила брандмауэра

Правила хранятся в реестре и в системных настройках. Путь в реестре (для справки): Software\Policies\Microsoft\WindowsFirewall\FirewallRules.

Как удалить дублирующиеся правила

Ниже — два безопасных подхода: ручной и автоматический. Всегда сначала создайте резервную копию и документируйте изменения.

1. Ручное удаление через параметры брандмауэра

Важно: удаление правил может привести к проблемам с сетью. Если сомневаетесь, сначала отключите правило.

  1. Нажмите клавишу Windows + S и введите defender. Выберите Брандмауэр Защитника Windows с расширенной безопасностью.

Интерфейс: результат поиска и приложение

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

Список: разделы входящих и исходящих правил брандмауэра

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

Выделение нескольких правил в списке брандмауэра

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

Контекстное меню для удаления правила брандмауэра

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

Диалог подтверждения удаления правила

  1. Повторите для всех правил, которые вы уверенно считаете лишними.

Совет: вместо удаления временно отключите правило и проверьте работу приложений в течение 24–72 часов.

2. Автоматический способ: PowerShell-скрипт для поиска и удаления дубликатов

Этот метод быстрее, но требует прав администратора и базовых знаний PowerShell. Сценарий группирует правила с одинаковыми свойствами и удаляет дополнительные копии, оставляя одну.

  1. Откройте Блокнот.
  2. Вставьте следующий код в файл:
# 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 }
  1. В Блокноте выберите “Файл” → Сохранить как.

Диалог: сохранить файл в Блокноте, выбор типа файла

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

Папка: файл firewall.ps1 сохранён в проводнике

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

PowerShell: запуск от имени администратора

  1. Перейдите в папку с файлом, например:
cd C:\Users\WindowsReport\Documents

Проводник: показ папки с файлом скрипта

  1. Запустите скрипт: firewall.ps1. Скрипт найдет группы идентичных записей и удалит дополнительные копии.

Примечание: скрипт использует команды Get-NetFirewallRule и Remove-NetFirewallRule. Если вы не знакомы с ними, сначала просмотрите вывод, не выполняя удаления.

Советы по очистке правил

  • Проверяйте правила перед удалением: одинаковый DisplayName не всегда означает полную дубликацию.
  • Предпочтительнее временно отключать правила, а не удалять.
  • Удаляйте только явно лишние или устаревшие правила.
  • Используйте метки и описания в правилах для удобства (Label/Description при создании правила).

Альтернативные подходы

  • Экспорт/импорт: экспортируйте текущие правила в файл, отредактируйте и импортируйте обратно. Подходит для массовых правок в тестовой среде.
  • Групповые политики (GPO): если у вас домен, централизованно управлять правилами проще через GPO — это предотвратит повторное появление нежелательных правил.
  • Netsh: для быстрого просмотра можно использовать netsh advfirewall firewall show rule name=all.

Когда это может не сработать

  • Правила создаются внешними приложениями (антивирус, VPN-клиент): после удаления они могут восстановиться при следующем запуске программы. Надо изменить настройки приложения или удалить правило из шаблона, который его создаёт.
  • Разные контексты: правила с одинаковым именем, но различными свойствами (например, для IPv4 и IPv6) не следует считать дубликатами.

Мини-методология (быстрая проверка, 6 шагов)

  1. Экспорт правил (резервная копия).
  2. Обнаружение подозрительных совпадений (по имени, программе, порту).
  3. Отключение предполагаемого дубликата и тест работы приложений.
  4. Если проблем нет — удалить правило окончательно.
  5. Прописать изменения в документации.
  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).

Резюме

Дублирующиеся правила в брандмауэре можно и нужно устранять осторожно: сначала анализируйте и отключайте, затем удаляйте, только убедившись, что правило действительно лишнее. Для массовой очистки используйте проверенные скрипты и всегда работайте с резервными копиями и документированием.

Читатели: поделитесь, встречали ли вы дубликаты правил и как их решали. Это поможет выбрать лучший подход для разных сценариев.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как распознать AI‑фейки в Facebook и соцсетях
Дезинформация

Как распознать AI‑фейки в Facebook и соцсетях

Как дешево и безопасно очистить сенсор DSLR
Фототехника

Как дешево и безопасно очистить сенсор DSLR

Как исправить повреждённый реестр Windows 7
Windows 7

Как исправить повреждённый реестр Windows 7

Как защитить iPhone: 6 ключевых шагов
Безопасность

Как защитить iPhone: 6 ключевых шагов

Как создать папку в Outlook — настольный, веб и мобильный
Почта

Как создать папку в Outlook — настольный, веб и мобильный

Continuity Markup и Sketch: редактирование Mac с iPad
How-to

Continuity Markup и Sketch: редактирование Mac с iPad