Adding a Port to Current Profile
Adding a port to a current profile that is enabled and scoped to all Internet protocols.
Option Explicit
On Error GoTo 0
'Set Constants
Const NET_FW_IP_PROTOCOL_UDP = 17
Const NET_FW_IP_PROTOCOL_TCP = 6
Const NET_FW_SCOPE_ALL = 0
Const NET_FW_SCOPE_LOCAL_SUBNET = 1
'Declare variables
Dim errornum
' Create the firewall manager object.
Dim fwMgr
Set fwMgr = CreateObject("HNetCfg.FwMgr")
' Get the current profile for the local firewall policy.
Dim profile
Set profile = fwMgr.LocalPolicy.CurrentProfile
Dim port
Set port = CreateObject("HNetCfg.FWOpenPort")
port.Name = "HTTP"
port.Protocol = NET_FW_IP_PROTOCOL_TCP
port.Port = 80
'If using Scope, don't use RemoteAddresses
port.Scope = NET_FW_SCOPE_ALL
'Use this line to scope the port to Local Subnet only
'port.Scope = NET_FW_SCOPE_LOCAL_SUBNET
port.Enabled = TRUE
'Use this line instead if you want to add the port, but disabled
'port.Enabled = FALSE
On Error Resume Next
profile.GloballyOpenPorts.Add port
errornum = Err.Number
If errornum <> 0 Then
WScript.Echo("Adding the port failed. Error Number: " & errornum)
End If