Usar firewall netsh advfirewall em vez de firewall netsh para controlar o comportamento do Firewall do Windows
Este artigo descreve como usar o contexto de firewall em vez do contexto netsh advfirewall
para controlar o comportamento do Firewall do netsh firewall
Windows.
Versão original do produto: Windows Server 2012 R2
Número original do KB: 947709
Resumo
O netsh advfirewall
contexto de linha de comando do firewall está disponível no Windows Server 2012 R2. Esse contexto fornece a funcionalidade para controlar o comportamento do Firewall do Windows fornecido pelo netsh firewall
contexto de firewall.
Esse contexto também fornece funcionalidade para um controle mais preciso das regras de firewall. Essas regras incluem as seguintes configurações por perfil:
- Domínio
- Privado
- Público
O netsh firewall
contexto da linha de comando pode ser preterido em uma versão futura do sistema operacional Windows. Recomendamos que você use o netsh advfirewall
contexto de firewall para controlar o comportamento do firewall.
Importante
Se você for membro do grupo Administradores e o Controle de Conta de Usuário estiver habilitado em seu computador, execute os comandos de um prompt de comando com permissões elevadas. Para iniciar um prompt de comando com permissões elevadas, encontre o ícone ou a entrada do menu Iniciar que você usa para iniciar uma sessão de prompt de comando, clique com o botão direito do mouse nele e clique em Executar como administrador.
Alguns exemplos de comandos usados com frequência são fornecidos nas tabelas a seguir. Você pode usar esses exemplos para ajudá-lo a migrar do contexto netsh firewall
mais antigo para o novo contexto de netsh advfirewall
firewall.
Além disso, os netsh advfirewall
comandos que você pode usar para obter ajuda em linha detalhada são fornecidos.
Exemplo de comando 1: Habilitar um programa
Comando antigo | Novo comando |
---|---|
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 |
Execute os seguintes comandos: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 |
Para obter mais informações sobre como adicionar regras de firewall, execute o seguinte comando:
netsh advfirewall firewall add rule ?
Exemplo de comando 2: Habilitar uma porta
Comando antigo | Novo comando |
---|---|
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 |
Para obter mais informações sobre como adicionar regras de firewall, execute o seguinte comando:
netsh advfirewall firewall add rule ?
Exemplo de comando 3: Excluir programas ou portas habilitados
Comando antigo | Novo comando |
---|---|
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 |
Para obter mais informações sobre como excluir regras de firewall, execute o seguinte comando:
netsh advfirewall firewall delete rule ?
Exemplo de comando 4: Definir configurações do ICMP
Comando antigo | Novo comando |
---|---|
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 |
Para obter mais informações sobre como definir as configurações do ICMP, execute o seguinte comando:
netsh advfirewall firewall add rule ?
Exemplo de comando 5: Definir registro em log
Comando antigo | Novo comando |
---|---|
netsh firewall set logging %systemroot%\system32\LogFiles\Firewall\pfirewall.log 4096 ENABLE ENABLE |
Execute os seguintes comandos: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 |
Para obter mais informações, execute o seguinte comando:
netsh advfirewall set currentprofile ?
Se você quiser definir o registro em log para um perfil específico, use uma das seguintes opções em vez da currentprofile
opção:
Domainprofile
Privateprofile
Publicprofile
Exemplo de comando 6: Habilitar firewall do Windows
Comando antigo | Novo comando |
---|---|
netsh firewall set opmode ENABLE |
netsh advfirewall set currentprofile state on |
netsh firewall set opmode mode=ENABLE exceptions=enable |
Execute os seguintes comandos:Netsh advfirewall set currentprofile state on netsh advfirewall set currentprofile firewallpolicy blockinboundalways,allowoutbound |
netsh firewall set opmode mode=enable exceptions=disable profile=domain |
Execute os seguintes comandos:Netsh advfirewall set domainprofile state on netsh advfirewall set domainprofile firewallpolicy blockinbound,allowoutbound |
netsh firewall set opmode mode=enable profile=ALL |
Execute os seguintes comandos:netsh advfirewall set domainprofile state on netsh advfirewall set privateprofile state on |
Para obter mais informações, execute o seguinte comando:
netsh advfirewall set currentprofile ?
Se você quiser definir o estado do firewall para um perfil específico, use uma das seguintes opções em vez da currentprofile
opção:
Domainprofile
Privateprofile
Publicprofile
Exemplo de comando 7: Restaurar padrões de política
Comando antigo | Novo comando |
---|---|
netsh firewall reset |
netsh advfirewall reset |
Para obter mais informações, execute o seguinte comando:
netsh advfirewall reset ?
Exemplo de comando 8: Habilitar serviços específicos
Comando antigo | Novo comando |
---|---|
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 |
Execute os seguintes comandos: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 |