Automatyczne otwieranie portu 5900/TCP (VNC) za pomocą skryptu VBS

Niniejszy skrypt otwiera automatycznie port 5900/TCP co pozwala na łączenie się ze stacja za pomocą konsoli VNC. Skrypt należy uruchamiać zawsze po zalogowaniu użytkownika. Należy dostosować CUSTOMSCOPE do własnych potrzeb. […]

Niniejszy skrypt otwiera automatycznie port 5900/TCP co pozwala na łączenie się ze stacja za pomocą konsoli VNC.
Skrypt należy uruchamiać zawsze po zalogowaniu użytkownika.
Należy dostosować CUSTOMSCOPE do własnych potrzeb. Powinien on mieć wartość taka jak nasza wewnętrzna sieć LAN.

Option Explicit 

‚Our Constants
Const VNC_OPENPORT = 5900
Const VNC_PROTOCOL = 6    ‚TCP
Const VNC_DESCRIPT = „VNC”

Const CUSTOMSCOPE = „192.168.1.0/255.255.255.0”

‚HNetCfg Constants
Const NET_FW_PROFILE_DOMAIN = 0
Const NET_FW_PROFILE_STANDARD = 1

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
Const NET_FW_SCOPE_CUSTOM = 2

‚————– PRE ———————-

Dim fwMgr
Set fwMgr = CreateObject(„HNetCfg.FwMgr”)

Dim stdProfile
Set stdProfile = fwMgr.LocalPolicy.GetProfileByType(NET_FW_PROFILE_STANDARD)

‚————– CORE ———————
‚VNC
SetOpenPort_ScopeCustom stdProfile,VNC_OPENPORT,VNC_PROTOCOL,VNC_DESCRIPT, CUSTOMSCOPE

‚File and Printer Sharing
Dim stdService
Set stdService = stdProfile.Services.Item(0)
Dim srvPort
For each srvPort in stdService.GloballyOpenPorts
srvPort.RemoteAddresses = CUSTOMSCOPE
srvPort.Enabled = TRUE
Next
stdService.Enabled = True
Set stdService = Nothing

‚————– POST ———————

stdProfile.ExceptionsNotAllowed = False
stdProfile.FirewallEnabled = True

Set stdProfile = Nothing
Set fwMgr = Nothing

‚————– QUIT ———————

Sub SetOpenPort_ScopeCustom(iProfile, iPortNum, iIpProtocol, iRuleDesc, iCustScope)
Dim lPort
Set lPort = CreateObject(„HNetCfg.FWOpenPort”)

lPort.Name = iRuleDesc
lPort.Protocol = iIpProtocol
lPort.Port = iPortNum

‚use RemoteAddresses
lPort.RemoteAddresses = iCustScope

lPort.Enabled = TRUE
‚Use this line instead if you want to add the port, but disabled
‚port.Enabled = FALSE

iProfile.GloballyOpenPorts.Add lPort

Dim errornum
errornum = Err.Number
If errornum <> 0 Then
WScript.Echo(„Adding the port „”” & iRuleDesc & „”” failed. Error Number: ” & errornum)
End If

End Sub

Tagi: , ,