Difference between revisions of "WPKG over VPN"

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search
m (wpkg-start-vpn-bat)
m
Line 27: Line 27:
 
if Host >= IPStart and Host <= IPEnd then
 
if Host >= IPStart and Host <= IPEnd then
 
'NO-WPKG: VPN connection present
 
'NO-WPKG: VPN connection present
Wscript.Quit 0
+
Wscript.Quit 1
 
else
 
else
 
'START-WPKG: local network present
 
'START-WPKG: local network present
Wscript.Quit 1
+
Wscript.Quit 0
 
end if
 
end if
 
end if
 
end if
Line 38: Line 38:
  
 
'NO-WPKG: local network not present
 
'NO-WPKG: local network not present
 +
Wscript.Quit 1
 
</source>
 
</source>
 
==wpkg-start-vpn.bat==
 
==wpkg-start-vpn.bat==
Line 49: Line 50:
 
call cscript %WPKGROOT%\check-vpn.vbs > nul
 
call cscript %WPKGROOT%\check-vpn.vbs > nul
  
if not ERRORLEVEL 1 goto END
+
if ERRORLEVEL 1 goto END
 
+
 
%WPKGROOT%\wpkg.js /synchronize /quiet /nonotify
 
%WPKGROOT%\wpkg.js /synchronize /quiet /nonotify
  

Revision as of 11:30, 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 1
				else
					'START-WPKG: local network present
					Wscript.Quit 0
				end if
			end if
		Next
	end if 
Next 

'NO-WPKG: local network not present
Wscript.Quit 1

wpkg-start-vpn.bat

@echo off
cls

set WPKGROOT=\\tpsrv05\wpkg$
set SOFTWARE=%WPKGROOT%\content

call cscript %WPKGROOT%\check-vpn.vbs > nul

if ERRORLEVEL 1 goto END
%WPKGROOT%\wpkg.js /synchronize /quiet /nonotify

:END