Script VPN con schedulazione – PowerShell

Se avere la necessità di creare uno script che esegua la connessione vpn se questa è disconnessa, qua troverete la soluzione. Infatti lo script verificherà se la conessione VPN è disconnessa e in questo caso effetttuerà la connessione. Inoltre andrà a creare uno schedulazione in automatico (nell’esempio avrà il nome Task_VPN) per eseguire lo script. Nella funzione dedicata alla connessione VPN dovrete inserire in $vpnname user e $vpnpassword la password della vpn, mentre in $vpnname dovrete scrivere il nome della vostra connessione vpn che nel esempio abbiamo chiamato vpntest 


function VPN{

while ($true)
{
$vpnname = "vpntest"
$vpnusername = "user"
$vpnpassword = "password"
$vpn = Get-VpnConnection | where {$_.Name -eq $vpnname}
if ($vpn.ConnectionStatus -eq "Disconnected")
{
$cmd = $env:WINDIR + "\System32\rasdial.exe"
$expression = "$cmd ""$vpnname"" $vpnusername $vpnpassword"
Invoke-Expression -Command $expression
}
start-sleep -seconds 30
}
}
# Per windows 7 e versioni successive
ipmo ScheduledTasks
$action = New-ScheduledTaskAction -Execute 'Powershell.exe' -Argument '-NoProfile -WindowStyle Hidden -command "& {VPN}"'
$trigger = New-ScheduledTaskTrigger -Daily -At 9am
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "Task_VPN" -Description "Cron vpn"

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *