Используйте брандмауэр netsh advfirewall вместо брандмауэра netsh для управления поведением брандмауэра Windows
В этой статье описывается, как использовать netsh advfirewall
контекст брандмауэра вместо контекста netsh firewall
для управления поведением брандмауэра Windows.
Исходный номер базы знаний: 947709
Итоги
Контекст netsh advfirewall
командной строки брандмауэра доступен в Windows Server 2012 R2. Этот контекст предоставляет функциональные возможности для управления поведением брандмауэра Windows, которое было предоставлено контекстом netsh firewall
брандмауэра.
Этот контекст также предоставляет функции для более точного управления правилами брандмауэра. К этим правилам относятся следующие параметры для каждого профиля:
- Домен
- Private
- Public
Контекст netsh firewall
командной строки может быть нерекомендуем в будущей версии операционной системы Windows. Мы рекомендуем использовать контекст брандмауэра netsh advfirewall
для управления поведением брандмауэра.
Внимание
Если вы являетесь членом группы "Администраторы", а управление учетными записями пользователей включено на компьютере, выполните команды из командной строки с повышенными разрешениями. Чтобы запустить командную строку с повышенными разрешениями, найдите значок или меню запись, используемую для запуска сеанса командной строки, щелкните его правой кнопкой мыши и нажмите кнопку "Запустить от имени администратора".
В следующих таблицах приведены некоторые примеры часто используемых команд. Эти примеры помогут вам перейти из старого netsh firewall
контекста в новый netsh advfirewall
контекст брандмауэра.
Кроме того, предоставляются команды, netsh advfirewall
которые можно использовать для получения подробной встроенной справки.
Пример команды 1. Включение программы
Старая команда | Новая команда |
---|---|
netsh firewall add allowedprogram C:\MyApp\MyApp.exe "My Application" ENABLE |
netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes |
netsh firewall add allowedprogram program=C:\MyApp\MyApp.exe name="My Application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=Domain |
netsh advfirewall firewall add rule name="My Application" dir=in action=allow program= "C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domain |
netsh firewall add allowedprogram program=C:\MyApp\MyApp.exe name="My Application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=ALL |
Выполните следующие команды:netsh advfirewall firewall add rule name="My Application" dir=in action=allow program= "C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domain netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=private |
Дополнительные сведения о добавлении правил брандмауэра выполните следующую команду:
netsh advfirewall firewall add rule ?
Пример команды 2. Включение порта
Старая команда | Новая команда |
---|---|
netsh firewall add portopening TCP 80 "Open Port 80" |
netsh advfirewall firewall add rule name= "Open Port 80" dir=in action=allow protocol=TCP localport=80 |
Дополнительные сведения о добавлении правил брандмауэра выполните следующую команду:
netsh advfirewall firewall add rule ?
Пример команды 3. Удаление включенных программ или портов
Старая команда | Новая команда |
---|---|
netsh firewall delete allowedprogram C:\MyApp\MyApp.exe |
netsh advfirewall firewall delete rule name= rule name program="C:\MyApp\MyApp.exe" |
delete portopening protocol=UDP port=500 |
netsh advfirewall firewall delete rule name= rule name protocol=udp localport=500 |
Дополнительные сведения об удалении правил брандмауэра выполните следующую команду:
netsh advfirewall firewall delete rule ?
Пример команды 4. Настройка параметров ICMP
Старая команда | Новая команда |
---|---|
netsh firewall set icmpsetting 8 |
netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow |
netsh firewall set icmpsetting type=ALL mode=enable |
netsh advfirewall firewall add rule name= "All ICMP V4" protocol=icmpv4:any,any dir=in action=allow |
netsh firewall set icmpsetting 13 disable all |
netsh advfirewall firewall add rule name="Block Type 13 ICMP V4" protocol=icmpv4:13,any dir=in action=block |
Дополнительные сведения о настройке параметров ICMP выполните следующую команду:
netsh advfirewall firewall add rule ?
Пример команды 5. Настройка ведения журнала
Старая команда | Новая команда |
---|---|
netsh firewall set logging %systemroot%\system32\LogFiles\Firewall\pfirewall.log 4096 ENABLE ENABLE |
Выполните следующие команды:netsh advfirewall set currentprofile logging filename %systemroot%\system32\LogFiles\Firewall\pfirewall.log netsh advfirewall set currentprofile logging maxfilesize 4096 netsh advfirewall set currentprofile logging droppedconnections enable netsh advfirewall set currentprofile logging allowedconnections enable |
Для получения дополнительной информации выполните следующую команду:
netsh advfirewall set currentprofile ?
Если вы хотите задать ведение журнала для определенного профиля, используйте один из следующих параметров вместо currentprofile
параметра:
Domainprofile
Privateprofile
Publicprofile
Пример команды 6. Включение брандмауэра Windows
Старая команда | Новая команда |
---|---|
netsh firewall set opmode ENABLE |
netsh advfirewall set currentprofile state on |
netsh firewall set opmode mode=ENABLE exceptions=enable |
Выполните следующие команды:Netsh advfirewall set currentprofile state on netsh advfirewall set currentprofile firewallpolicy blockinboundalways,allowoutbound |
netsh firewall set opmode mode=enable exceptions=disable profile=domain |
Выполните следующие команды:Netsh advfirewall set domainprofile state on netsh advfirewall set domainprofile firewallpolicy blockinbound,allowoutbound |
netsh firewall set opmode mode=enable profile=ALL |
Выполните следующие команды:netsh advfirewall set domainprofile state on netsh advfirewall set privateprofile state on |
Для получения дополнительной информации выполните следующую команду:
netsh advfirewall set currentprofile ?
Если вы хотите задать состояние брандмауэра для определенного профиля, используйте один из следующих параметров вместо currentprofile
параметра:
Domainprofile
Privateprofile
Publicprofile
Пример команды 7. Восстановление политик по умолчанию
Старая команда | Новая команда |
---|---|
netsh firewall reset |
netsh advfirewall reset |
Для получения дополнительной информации выполните следующую команду:
netsh advfirewall reset ?
Пример команды 8. Включение определенных служб
Старая команда | Новая команда |
---|---|
netsh firewall set service FileAndPrint |
netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes |
netsh firewall set service RemoteDesktop enable |
netsh advfirewall firewall set rule group="remote desktop" new enable=Yes |
netsh firewall set service RemoteDesktop enable profile=ALL |
Выполните следующие команды:netsh advfirewall firewall set rule group="remote desktop" new enable=Yes profile=domain netsh advfirewall firewall set rule group="remote desktop" new enable=Yes profile=private |