Adding a Port to Current Profile Using Remote Addresses
This example shows adding a port to the current profile using RemoteAddresses to specify scope.
Option Explicit On Error GoTo 0 'Set Constants Const NET_FW_IP_PROTOCOL_UDP = 17 Const NET_FW_IP_PROTOCOL_TCP = 6 '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 RemoteAddresses, don't use Scope ' "*" means Scope of Any. Other entries are ignored if this is specified. ' "LocalSubnet" means Scope of Local Subnet. Can be used with other addresses as well. port.RemoteAddresses = "*" 'Use this line to scope the port to Local Subnet only 'port.RemoteAddresses = "LocalSubnet" 'Use this line to scope the port to the specific IP 10.1.1.1, the specific subnet 18.104.22.168, and Local Subnet. Don't put spaces. 'port.RemoteAddresses = "LocalSubnet,10.1.1.1/255.255.255.255,22.214.171.124/255.255.0.0" 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