Difference between revisions of "WPKG over VPN"

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search
m
m
Line 1: Line 1:
 
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!
 
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==
 
<source lang="vb">
 
<source lang="vb">
 
On Error Resume Next
 
On Error Resume Next
Line 9: Line 13:
 
Subnet="192.168.10."
 
Subnet="192.168.10."
 
IPStart=245
 
IPStart=245
IPEnd=252
+
IPEnd=254
 
+
LocalNetwork=0
+
  
 
For Each adapter in colItems
 
For Each adapter in colItems
Line 24: Line 26:
 
 
 
if Host >= IPStart and Host <= IPEnd then
 
if Host >= IPStart and Host <= IPEnd then
'VPN connection  
+
'NO-WPKG: VPN connection present
Wscript.Quit
+
Wscript.Quit 0
 
else
 
else
LocalNetwork=1
+
'START-WPKG: local network present
 +
Wscript.Quit 1
 
end if
 
end if
 
end if
 
end if
Line 34: Line 37:
 
Next  
 
Next  
  
'stop if we're not on local subnet
+
'NO-WPKG: local network not present
if LocalNetwork=0 then
+
</source>
Wscript.Quit
+
==wpkg-start-vpn-bat==
end if  
+
<source lang="vb">
 +
cls
 +
 
 +
:: This is a recommended way of starting WPKG.
 +
 
 +
 
 +
 
 +
:: Use WPKGROOT variable to define where wpkg.js script is.
 +
 
 +
 
 +
 
 +
:: Use PACKAGES variable to define where all your software/installers are.
 +
 
 +
:: You can later use the PACKAGES variable (and all other variables) in your xml files.
 +
 
 +
 
 +
set WPKGROOT=\\tpsrv05\wpkg$
 +
 
 +
set SOFTWARE=%WPKGROOT%\content
 +
 
 +
 
 +
cscript %WPKGROOT%\check-vpn.vbs
 +
 
 +
if ERRORLEVEL 0 GOTO END
 +
 
 +
 
 +
%WPKGROOT%\wpkg.js /synchronize /quiet /nonotify
  
dim shell
+
:END
set shell=createobject("wscript.shell")
+
shell.run "\\vboxsrv\wpkg\wpkg-start.bat"
+
set shell=nothing
+
 
</source>
 
</source>
  
 
[[Category: Documentation]]
 
[[Category: Documentation]]

Revision as of 11:10, 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

cls

:: This is a recommended way of starting WPKG.



:: Use WPKGROOT variable to define where wpkg.js script is.



:: Use PACKAGES variable to define where all your software/installers are.

:: You can later use the PACKAGES variable (and all other variables) in your xml files.


set WPKGROOT=\\tpsrv05\wpkg$

set SOFTWARE=%WPKGROOT%\content


cscript %WPKGROOT%\check-vpn.vbs

if ERRORLEVEL 0 GOTO END


%WPKGROOT%\wpkg.js /synchronize /quiet /nonotify

:END