Compartilhar via


Utilizar a firewall netsh advfirewall em vez da firewall netsh para controlar o comportamento da Firewall do Windows

Este artigo descreve como utilizar o netsh advfirewall contexto da firewall em vez do contexto para controlar o comportamento da Firewall do netsh firewall Windows.

Número original da BDC: 947709

Resumo

O netsh advfirewall contexto da linha de comandos da firewall está disponível no Windows Server 2012 R2. Este contexto fornece a funcionalidade para controlar o comportamento da Firewall do Windows que foi fornecido pelo contexto da netsh firewall firewall.

Este contexto também fornece funcionalidades para um controlo mais preciso das regras de firewall. Estas regras incluem as seguintes definições por perfil:

  • Domínio
  • Privado
  • Público

O netsh firewall contexto da linha de comandos pode ser preterido numa versão futura do sistema operativo Windows. Recomendamos que utilize o contexto da firewall para controlar o netsh advfirewall comportamento da firewall.

Importante

Se for membro do grupo Administradores e o Controlo de Conta de Utilizador estiver ativado no computador, execute os comandos a partir de uma linha de comandos com permissões elevadas. Para iniciar uma linha de comandos com permissões elevadas, localize o ícone ou a entrada do menu Iniciar que utiliza para iniciar uma sessão de linha de comandos, clique com o botão direito do rato na mesma e, em seguida, clique em Executar como administrador.

Alguns exemplos de comandos utilizados frequentemente são fornecidos nas tabelas seguintes. Pode utilizar estes exemplos para o ajudar a migrar do contexto mais antigo netsh firewall para o novo netsh advfirewall contexto de firewall.

Além disso, são fornecidos os netsh advfirewall comandos que pode utilizar para obter ajuda inline detalhada.

Exemplo de comando 1: Ativar 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: Ativar 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: Eliminar programas ou portas ativados

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 eliminar regras de firewall, execute o seguinte comando:

netsh advfirewall firewall delete rule ?

Exemplo de comando 4: Configurar definições de 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 configurar as definições de ICMP, execute o seguinte comando:

netsh advfirewall firewall add rule ?

Exemplo de comando 5: Definir registo

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 quiser definir o registo para um perfil específico, utilize uma das seguintes opções em vez da opção currentprofile :

  • Domainprofile
  • Privateprofile
  • Publicprofile

Exemplo de comando 6: Ativar a 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 quiser definir o estado da firewall para um perfil específico, utilize uma das seguintes opções em vez da opção currentprofile :

  • Domainprofile
  • Privateprofile
  • Publicprofile

Exemplo de comando 7: Restaurar as predefinições da 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: Ativar 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