≡ Menu

Enable/disable firewall from command line

Windows firewall can be enabled/disabled from command line using netsh command.

Windows 10 / Windows 8/ Windows 7 / Server 2008 /Vista:

Let’s see the syntax of netsh advfirewall to configure firewall on these Windows versions.  Firewall settings are different for each of the 3 networks(Domain, private, public). So based on which network firewall you want to enable/disable, the command would vary.

You can turn on firewall for the current network profile(does not matter if it’s domain/private/public network) using the below command.

netsh advfirewall set currentprofile state on

Turn off firewall for the current profile:

netsh advfirewall set  currentprofile state off

These commands should be run from an elevated administrator command prompt. Otherwise you would get the below error.

C:\>netsh advfirewall set  currentprofile state on
The requested operation requires elevation (Run as administrator).

To enable/disable firewall for a specific network profile, you can use the below commands.

Domain network

Turn on Domain network firewall:

netsh advfirewall set domainprofile state on

Turn off domain network firewall:

netsh advfirewall set domainprofile state off

Private network

Turn on private network firewall:

netsh advfirewall set privateprofile state on

Turn off private network firewall:

netsh advfirewall set privateprofile state off

Public network

Turn on public network firewall:

netsh advfirewall set publicprofile state on

Turn off public network firewall:

netsh advfirewall set publicprofile state off

Configure for all networks

Turn on firewall for all networks

netsh advfirewall set allprofiles state on

Turn off firewall for all networks

netsh advfirewall set  allprofiles state off

Older Windows versions – XP / Server 2003:

Below is the command to turn on firewall.

netsh firewall set opmode mode=ENABLE

The command to turn off firewall is:

netsh firewall set opmode mode=DISABLE

Administrator privileges are required to configure firewall so above command can be run only from admin accounts.

netsh firewall is deprecated in new versions.

In Windows 10/ 8 / 7 / Vista/ Server 2008, ‘netsh firewall‘ command prints message like below.

c:\>netsh firewall set opmode mode=ENABLE
IMPORTANT: "netsh firewall" is deprecated;
use "netsh advfirewall firewall" instead. Though the command still works,
 it's preferable to use the new set of commands provided with netsh command.

Related Posts:
How to turn off firewall in Windows 7

6 comments… add one
  • Mike

    running it from normal cmd give this error.

    C:\>netsh advfirewall set  allprofiles state on
    The requested operation requires elevation (Run as administrator)."

    Open cmd as with ‘run as adminitrator’ option.

  • Fernando

    Awesome article, Thank you very much

  • sanjay

    Thank you very much

  • HANYADEL

    Thanks A lot for sharing knowledge
    Wanna add note :
    the old command netsh.exe firewall set opmode disable or enable this command was Used only with Public profile for windows to set it on Or off ,,,, But The new Command Specially this : Netsh.exe advfirewall set allprofiles state on (Perfect Command)
    Really …… Thanks too much for sharing this I spent a long time in searching for such this this command because it’s Comprehensive for security issue .

  • Darrell Bivens

    Typo:
    Turn on public network firewall:
    netsh advfirewall set publicprofile state on
    Turn on public network firewall:
    __
    netsh advfirewall set publicprofile state off
    Just trying to help

  • Rachid

    Thank you very much

    First article that solves all my issues with clear exampls

Leave a Comment