Skip to content
Tech Shizz Logo

An Engineers Blog

  • TechShizz
  • blog

Finally, a Windows 10 VPN solution that doesn’t make you want to blow your brains out!

Posted on February 23, 2021 By rich No Comments on Finally, a Windows 10 VPN solution that doesn’t make you want to blow your brains out!

As a system administrator, I use many VPN connections throughout the day. Windows 10 is great, but whoever was in change of the VPN client in windows 10 at Microsoft did not deserve his/her bonus for this edition of windows!! It’s slow, buggy, gives you no decent error. Fortunately, Mr gates left the good old rasphone intact so we can use this. 

The problem is, its still clunky loading in Windows 10. It can take 3-10 seconds to load the Rasphone each time you open it.

I’ve written a PowerShell script to make a tidy folder of useable shortcuts that you can add the to tool bar. Here’s how it works.

1. Create a folder called “VPNs” in c:

2. Right click the task bar > Toolbars > New Toolbar

3. Navigate to the VPNs folder and select it and click ‘Select Folder’.

4. Paste this PS Script to s txt file. Save it as a .ps1 file.

Remove-Item -Path C:VPNs* -Recurse -Force
$vpnlist = Get-VpnConnection | Select Name -Skip 1
ForEach ($vpnname in $vpnlist.Name ){
$Shell = New-Object -ComObject ("WScript.Shell")
$ShortCut = $Shell.CreateShortcut("C:VPNs$vpnname.lnk")
$ShortCut.TargetPath="rasphone.exe"
$ShortCut.Arguments="-d `"$vpnname`""
$ShortCut.WorkingDirectory = "c:windowssystem32";
$ShortCut.WindowStyle = 1;
$ShortCut.Description = "$vpnname";
$ShortCut.Save()}

5.You can check the status (See what VPNs are connected) with this script.

Get-VpnConnection | Where-Object {$_.ConnectionStatus -eq "Connected" } | Select Name,ConnectionStatus,TunnelType,ServerAddress,SplitTunneling | Format-Table
Pause
Exit

6. You can disconnect all VPNs at the same time with this script.

$vpnlist = Get-VpnConnection | Where-Object {$_.ConnectionStatus -eq "Connected" }
ForEach ($vpnname in $vpnlist.Name ){
  rasdial $vpnname /DISCONNECT;
}

Post navigation

❮ Previous Post: Get server or computer memory usage via PowerShell (Ideal for server core)
Next Post: One Drive character limit | PowerShell to find file path character length | File Path Character Limit ❯

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Subscribe to our newsletter!

Recent Posts

  • How to implement a lightning-fast ransomware playbook
  • How to achieve defence in depth in your business
  • How to implement a SecOps team phishing response plan
  • How to block an Office 365 Sign-in correctly
  • Microsoft finally patched serious Exchange 0-day over a month old!

Recent Comments

    Archives

    • November 2022
    • July 2021
    • March 2021
    • February 2021

    Categories

    • Cyber Security
    • Uncategorized

    Meta

    • Log in
    • Entries feed
    • Comments feed
    • WordPress.org

    Copyright © 2023 .

    Theme: Oceanly News Dark by ScriptsTown