<#
.NOTES
===========================================================================
Created with: SAPIEN Technologies, Inc., PowerShell Studio 2016 v5.2.127
Created on: 25.08.2016 09:44
Created by: admin
Organization: Commandline.info
Filename:
===========================================================================
.DESCRIPTION
A description of the file.
#>
# Getting Global Parameters
$computername = $env:COMPUTERNAME
$VPNName = "My VPN 2.0"
$VPNServer = $computername
$Serveraddress = ""
$ProxyServer = ""
function check-chassis {
BEGIN {}
PROCESS {
$computer = $computername
$chassis = Get-WmiObject win32_systemenclosure -computer $computer | select chassistypes
if ($chassis.chassistypes -contains '3'){Write-Output "Desktop"}
elseif ($chassis.chassistypes -contains '4'){Write-Output "Low Profile Desktop"}
elseif ($chassis.chassistypes -contains '5'){Write-Output "Pizza Box"}
elseif ($chassis.chassistypes -contains '6'){Write-Output "Mini Tower"}
elseif ($chassis.chassistypes -contains '7'){Write-Output "Tower"}
elseif ($chassis.chassistypes -contains '8'){Write-Output "Portable"}
elseif ($chassis.chassistypes -contains '9'){Write-Output "Laptop"}
elseif ($chassis.chassistypes -contains '10'){Write-Output "Notebook"}
elseif ($chassis.chassistypes -contains '11'){Write-Output "Hand Held"}
elseif ($chassis.chassistypes -contains '12'){Write-Output "Docking Station"}
elseif ($chassis.chassistypes -contains '13'){Write-Output "All in One"}
elseif ($chassis.chassistypes -contains '14'){Write-Output "Sub Notebook"}
elseif ($chassis.chassistypes -contains '15'){Write-Output "Space-Saving"}
elseif ($chassis.chassistypes -contains '16'){Write-Output "Lunch Box"}
elseif ($chassis.chassistypes -contains '17'){Write-Output "Main System Chassis"}
elseif ($chassis.chassistypes -contains '18'){Write-Output "Expansion Chassis"}
elseif ($chassis.chassistypes -contains '19'){Write-Output "Sub Chassis"}
elseif ($chassis.chassistypes -contains '20'){Write-Output "Bus Expansion Chassis"}
elseif ($chassis.chassistypes -contains '21'){Write-Output "Peripheral Chassis"}
elseif ($chassis.chassistypes -contains '22'){Write-Output "Storage Chassis"}
elseif ($chassis.chassistypes -contains '23'){Write-Output "Rack Mount Chassis"}
elseif ($chassis.chassistypes -contains '24'){Write-Output "Sealed-Case PC"}
else {Write-output "Unknown"}
}
END{}
}
$chassis = check-chassis
switch -wildcard ($VPNServer)
{
"NBWG*" { $Serveraddress = "ServerHamburg.commandline.info"; $ProxyServer = "ProxyHamburg.commandline.info:8080"}
"NBMUK*" { $Serveraddress = "ServerHamburg.commandline.info"; $ProxyServer = "ProxyHamburg.commandline.info:8080" }
"NBMFR*" { $Serveraddress = "ServerHamburg.commandline.info"; $ProxyServer = "ProxyHamburg.commandline.info:8080" }
"NBWGSH*" { $Serveraddress = "ServerChina.commandline.info"; $ProxyServer = "Proxychina.commandline.info:8080" }
default { $Serveraddress = "ServerHamburg.commandline.info"; $ProxyServer = "ProxyHamburg.commandline.info:8080" }
}
If ($chassis -eq "Portable" -Or $chassis -eq "Laptop" -Or $chassis -eq "Notebook" -Or $chassis -eq "Docking Station" -Or $chassis -eq "Sub Notebook") {
Add-VpnConnection -Name "$VPNName" -ServerAddress "$Serveraddress" -TunnelType SSTP -Encryptionlevel Required -AuthenticationMethod MSChapv2 -UseWinlogonCredential -SplitTunneling -AllUserConnection -RememberCredential -PassThru
Set-VpnConnectionProxy -Name "$VPNName" -ProxyServer "$ProxyServer" -BypassProxyForLocal
#Optional Copy an Lnk to VPN to Desktop
#Copy-Item $PSScriptRoot\Links\*.lnk -destination $env:Public\Desktop
}
Else
{
Exit 0
}