Modifying a Service
The following example demonstrates enabling a service, disabling one of its ports, and changing the scope of another.
Option Explicit 'Set Constants Const NET_FW_SERVICE_FILE_AND_PRINT = 0 Const NET_FW_SERVICE_UPNP = 1 Const NET_FW_SERVICE_REMOTE_DESKTOP = 2 ' Scope Const NET_FW_SCOPE_ALL = 0 Const NET_FW_SCOPE_LOCAL_SUBNET = 1 'Declare variables Dim service Dim port ' 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 Set service = profile.Services.Item(NET_FW_SERVICE_FILE_AND_PRINT) service.Enabled = TRUE ' Use either Scope or RemoteAddresses, but not both service.RemoteAddresses = "*" 'service.Scope = NET_FW_SCOPE_ALL ' The Service is Enabled and Scoped to All IP's. Now disable ' TCP 445 and scope TCP 139 to Local Subnet only. For Each port In service.GloballyOpenPorts if port.Port = 445 Then port.Enabled = FALSE if port.Port = 139 Then port.Scope = NET_FW_SCOPE_LOCAL_SUBNET Next