Difference between revisions of "WPKG over VPN"
From WPKG | Open Source Software Deployment and Distribution
m (→wpkg-start-vpn-bat) |
m |
||
Line 41: | Line 41: | ||
==wpkg-start-vpn-bat== | ==wpkg-start-vpn-bat== | ||
<source lang="vb"> | <source lang="vb"> | ||
+ | @echo off | ||
cls | cls | ||
+ | |||
set WPKGROOT=\\tpsrv05\wpkg$ | set WPKGROOT=\\tpsrv05\wpkg$ | ||
set SOFTWARE=%WPKGROOT%\content | set SOFTWARE=%WPKGROOT%\content | ||
− | cscript %WPKGROOT%\check-vpn.vbs | + | call cscript %WPKGROOT%\check-vpn.vbs > nul |
− | if ERRORLEVEL | + | if not ERRORLEVEL 1 goto END |
%WPKGROOT%\wpkg.js /synchronize /quiet /nonotify | %WPKGROOT%\wpkg.js /synchronize /quiet /nonotify |
Revision as of 11:22, 12 January 2009
I have configured all computers to have GPO startup script to run this script. This scripts calls wpkg-start.bat only if a computer is present on local subnet (C class) and doesn't have an IP belonging to VPN IP pool. I'm running a small OpenVPN client set. All updates to this script or the whole concept are welcome!
Changes
- VPN VBs script now called within batch file (keeps main WPKG shell window hidden)
check-vpn.vbs
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration WHERE IPEnabled = True",,48)
Subnet="192.168.10."
IPStart=245
IPEnd=254
For Each adapter in colItems
If Not IsNull(adapter.IPAddress) Then
For i = 0 To UBound(adapter.IPAddress)
IP = CStr(adapter.IPAddress(i))
Host = CStr(Trim(Replace(IP, Subnet, "")))
Dots = InStr(Host, ".")
if Dots = 0 then
Host = CInt(Host)
if Host >= IPStart and Host <= IPEnd then
'NO-WPKG: VPN connection present
Wscript.Quit 0
else
'START-WPKG: local network present
Wscript.Quit 1
end if
end if
Next
end if
Next
'NO-WPKG: local network not present
wpkg-start-vpn-bat
@echo off
cls
set WPKGROOT=\\tpsrv05\wpkg$
set SOFTWARE=%WPKGROOT%\content
call cscript %WPKGROOT%\check-vpn.vbs > nul
if not ERRORLEVEL 1 goto END
%WPKGROOT%\wpkg.js /synchronize /quiet /nonotify
:END