(How to manage and setup vpn connections with powershell)
In this video I demonstrate how you can setup and manage VPN connections with powershell
*get-vpnconnection
*new-vpnconnection
*remove-vpnconnection
*powershell
*learn powershell
*automation
*learn automation
Code :
import-module "D:\__DEMOS\vpn\vpn.psm1"
$vpnname = "France VPN"
connect-vpn -vpnName $vpnname -vpnUserName "usernamme" -vpnPassword "GetFromWebsite" -vpnServerAddress `
"servername.something.local" -vpnprotocol "pptp"
disconnect-vpn -vpnName $vpnname
module functions, save in file vpn.psm.1
function connect-vpn{
param(
[Parameter(Mandatory)] [string]$vpnName,
[Parameter(Mandatory)] [string]$vpnUserName,
[Parameter(Mandatory)] [string]$vpnPassword,
[Parameter(Mandatory)] [string]$vpnServerAddress,
[Parameter(Mandatory)] [string]$vpnprotocol,
[Parameter(Mandatory=$false)] [string]$shared_secret
)
if ($vpnprotocol -eq 'pptp'){
Add-VpnConnection -Name $vpnName -ServerAddress $vpnServerAddress -TunnelType Pptp `
-EncryptionLevel Required -PassThru
}
else {
Add-VpnConnection -Name $vpnName -ServerAddress $vpnServerAddress -TunnelType L2tp `
-EncryptionLevel Required -PassThru -L2tpPsk $shared_secret -Confirm:$false -Force
}
$cmd = $env:WINDIR + "\System32\rasdial.exe"
$expression = "$cmd ""$vpnName"" $vpnUserName $vpnPassword"
Invoke-Expression -Command $expression
}
function disconnect-vpn{
param(
[Parameter(Mandatory)] [string]$vpnName
)
$vpn = Get-VpnConnection -Name $vpnName
if($vpn.ConnectionStatus -eq "Connected"){
rasdial $vpnName /DISCONNECT;
}
$vpn | Remove-VpnConnection -Force -Confirm:$false
}
Watch video PowerShell - VPN online, duration hours minute second in high quality that is uploaded to the channel Mr Automation 27 March 2021. Share the link to the video on social media so that your subscribers and friends will also watch this video. This video clip has been viewed 913 times and liked it 15 visitors.