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 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 0 GOTO END
+
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