How to open windows firewall ports with powershell

Question

Monday, January 14, 2013 9:22 AM

Hi 

Im trying to figure how how to make a Powershell script that opens, multiple firewall ports (incomming). on the local server. (using win2008r2).

any ideas?

best regards

Bjørn

All replies (4)

Wednesday, January 16, 2013 6:10 AM ✅Answered

Hi,

Please also refer to the below link:

Using Powershell to Open Ports on on a Windows 2008 Server

http://social.technet.microsoft.com/Forums/en-US/ITCG/thread/1173b550-9f19-495f-bf70-ea12e3a73866

Regards,

Yan Li

Cataleya Li
TechNet Community Support


Monday, January 14, 2013 10:04 AM

Powershell Code: Create Custom Windows Firewall Rule


Monday, January 14, 2013 11:28 AM

Thanks,

My problem is that my script is creating 3 seperate rules, one per port. I would love to have all the ports into one rule. Under is my current script:

#==============================================================
# Creates a rule to open an incomming port in the firewall.
#==============================================================

#$numberAsString = read-host "type an port number"
#$mynumber = [int]$numberAsString

$port1 = New-Object -ComObject HNetCfg.FWOpenPort
$port2 = New-Object -ComObject HNetCfg.FWOpenPort
$port3 = New-Object -ComObject HNetCfg.FWOpenPort

$port1.Port = 109
$port2.Port = 110
$port3.Port = 111

$port1.Name = 'MyTestPort' # name of Port
$port2.Name = 'MyTestPort' # name of Port
$port3.Name = 'MyTestPort' # name of Port

$port1.Enabled = $true
$port2.Enabled = $true
$port3.Enabled = $true

$fwMgr = New-Object -ComObject HNetCfg.FwMgr

$profiledomain=$fwMgr.LocalPolicy.GetProfileByType(0)

$profiledomain.GloballyOpenPorts.Add($port1)
$profiledomain.GloballyOpenPorts.Add($port2)
$profiledomain.GloballyOpenPorts.Add($port3)

This creates 3 rules with the same name. Is there anyway to get them all into one rule?

br

Bjørn


Monday, January 14, 2013 12:00 PM

 netsh advfirewall firewall add rule name='MyTestPort' dir=in protocol=any localport=109-111 action=allow profile=any