How to disable the Windows firewall using the command shell...
After installing Windows Server 2008 Core you might want to disable the integrated firewall. You can perfom that by using the following command:
netsh firewall set opmode mode=disable
This disables the integrated firewall completely and should only be used in isolated environments, e. g. you have a corporate firewall or the core server stands in an isolated test environment.
There are also some options for adding firewall rules. But I didn't have the time to figure them out yet. Hope the posted command will help you so long...
Greetings, zaubi
All Replies
- I test in the command line netsh, but show me an error
"El comando necesita elevación"
I dont know Help me, I need disable the firewall to run a big process A shorter command to completely disable the firewall could have been:
netsh firewall set opmode disable
As Zaubi points out you should avoid using this command because it eliminates the firewall as a security measure completely, which is a bad thing. Temporarily disabling the firewall might be useful to troubleshoot network connectivity. The command to enable the firewall again is:
netsh firewall set opmode enable
Firewall
I recommend taking a look at one of the command lines below. I'll show you some examples of how to open up the firewall.I assume you use the Windows Firewall in the Default profile.
To enable service exceptions
The Windows Firewall in a Server Core installation of Windows Server 2008 comes with a couple of default firewall exceptions. You can enable these exception to allow specific types of traffic through the firewall. For example, to allow File and Printer Sharing you can run the following command:
netsh firewall set service fileandprint
If at any point you need help with the set service command just type netsh firewall set service which will show you some help. Extra command line switches may allow you to specify another firewall profile and/or specify a firewall scope (all, subnet or custom)
To open specific ports
If your situation demands you open up specific ports to allow incoming traffic through your firewall you can add specific port openings in your firewall. You can specify whether the traffic is UDP or TCP, which port number you'd like to open and which name you'd like to give your portopening, like this:
netsh firewall set portopening protocol=TCP | UDP port=PortnumberHere name=AnyNameHere
If at any point you need help with the set service command just type netsh firewall set portopening which will show you some help. Extra command line switches may allow you to specify another firewall profile and/or specify a firewall scope (all, subnet or custom)
To allow specific programs
Another way to open up the firewall is to allow specific programs to communicate with the outside world. The Windows Firewall will allow any traffic to the executables you specify. Again you can also specify a name for the rule. Use this command to allow specific programs:
netsh firewall set allowedprogram program=FullPathToExecutable name=AnyNameHere
If at any point you need help with the set service command just type netsh firewall set allowedprogram which will show you some help. Extra command line switches may allow you to specify another firewall profile and/or specify a firewall scope (all, subnet or custom)
Advanced Firewall
Alternatively you can use the spanking new Advanced Firewall, which enables you to control incoming as well as outgoing traffic, allows you to edit the firewall configuration in offline mode (so you can change the settings, without committing any changes yet) There's a nice webpage with more information on the Advanced Firewall functionality here. It shows you how to change settings through the commandline and how to change them using Group Policies.
cesmen001 wrote: I test in the command line netsh, but show me an error
"El comando necesita elevación"
I dont know Help me, I need disable the firewall to run a big processRecent builds of Server Core installations of Windows Server 2008 did not feature User Account Control as a default security measure and in my experience commands ran with full administrator priviledges all the time.
If you want to run commands with elevated rights you can use one of the following tricks:
- Well I tell you my problems and the troubleshooting wich we found.
I need install Oracle client on many hosts, aproximately 300 and geographically distant, I found the version 10g to install on Windows Vista Enterprise and how my users not should interact with the process, I need erase de folder TMP and disable the Firewall for can run ok the install and configure process, this without the user know each task.
The troubleshooting wich I found to DISABLE the Windows firewall are run the:
netsh firewall set opmode mode = DISABLE
but in an elevated command prompt, if the firewall is ENABLE the OUI (Oracle Universal Installer) not run and when I type the previous line in a simple command prompt, this show me the text "La operación solicitada requiere elevación", but running the file .bat as Administrator or in a Elevated Comand Prompt, not has problems.
Later to restore the Firewall configuration only add a line in the .bat file how:
netsh firewall set opmode mode = ENABLE
obvious, later of all my steps.
THANKS zaubi and SanderBerkouwer good posts, I believe wich Windows is stranger and I need read and practise about it to really understand Win.Sir Caesar
please advise how to disable the firewall of another computer or PC remotely using the command prompt, as well, specifically the the netsh command?
i mean if ever my PC hostname is chief and i want to disable the firewall of PC with hostname commander ... what will be the synthax??
actually, this is the steps i tried but to no avail so hope any kindhearted can help or assist me of my predicament:
(1) netsh -r commander <enter>
(2) it now shows this line,
[commander] netsh>
but before to that, their is a line that says, " ... WARNING: Could not obtain host i
s may not be available.
The RPC server is unavailable ... ".what's this statement suppose to mean then ... any significant or effect perhaps to the commands i'm going to issue?
(3) i now tried to issue the command, netsh firewall set opmode mode = disable <enter>
but here what the result says, " ... The following command was not found: netsh firewall set opmode mode = disable ... ".
(4) what was wrong with the command i issue?
hoping to be enlighten.
thanks
Hi,
The error means that netsh wasn't able to connect to the remote system, so any following commands are not going to work.
Is the firewall already disabled on the remote system? If not, netsh is not going to be able to connect. Are you logged on with the same user name and password as an administrator account on the remote system?
Andrew
The firewall is enabled by default on Server Core without exceptions. This means you can't remotely manage anything by default, which in my opinion is a good thing.
To manage the Windows firewall remotely please consider the following usage scenarios:
Through MMC
To remotely manage the Windows Firewall please execute the following command on the console of your Server Core box:
netsh advfirewall firewall set rule group="Windows Firewall Remote Management" new enable=yes
Now you can connect from a different Windows Vista, Windows Vista SP1 or Full installation of Windows Server 2008 using the Windows Firewall with Advanced Security MMC Snap-In. I've posted more information on remotely managing Server Core through MMC Snap-ins here. If your scenario contains different username / password combinations on the managed and managing platform, please take a look here since the cmdkey command doesn't seem to work with the Windows Firewall with Advanced Security MMC Snap-In. Why struggle on the commandline, right?
Through WinRM and WinRS
Using Windows Remote Management (WinRM, Microsoft implementation of WS-Management) in combination with WinRS might prove to be even more useful. It consists of two commands. First you configure WinRM on your Server Core installation of Windows Server 2008 issuing the following command on the console:
winrm qc
This command will perform a couple of actions. First of all it will check whether the Windows Remote Management service is started and set to start automatically. After that it creates listeners for all the network connections to accept Windows Remote Shell connections with default settings. It will also open up port 80 in the Windows Firewall. You can tweak these settings. I've made a description here.
From a Windows Vista or Windows Server 2008 server you can now issue commands locally on your Server Core box by connecting to the server remotely using the following command:
winrs -r:ServerName netsh.exe
- It Works !
Thanks !!

