Haben Sie Probleme mit der VPN-Einrichtung oder -Verwaltung unter Windows? Manchmal reicht die integrierte Benutzeroberfläche nicht aus, insbesondere wenn Sie erweiterte Einstellungen anpassen oder Skripte zur Automatisierung Ihrer VPN-Verbindungen erstellen müssen. Diese Anleitung beschreibt die Verwaltung von VPN-Verbindungen mit PowerShell – von der Erstellung neuer Verbindungen bis hin zur Optimierung bestehender Konfigurationen. Es mag ungewöhnlich klingen, aber PowerShell bietet umfassende Kontrolle, was bei der Fehlersuche oder für benutzerdefinierte Konfigurationen sehr hilfreich ist. Nach dieser Anleitung können Sie VPNs direkt über die Befehlszeile einrichten, ändern und trennen und so Zeit und Aufwand sparen.
So verwalten Sie VPN-Verbindungen in Windows mithilfe von PowerShell
VPN-Verbindung mit PowerShell herstellen
Um eine VPN-Verbindung in PowerShell herzustellen, verwenden Sie das Cmdlet „Add-VpnConnection“. Warum? Weil es unkompliziert ist und für die meisten gängigen VPN-Typen funktioniert. Wenn Ihre grafische Benutzeroberfläche nicht die benötigten Funktionen bietet oder Sie den Vorgang automatisieren möchten, ist dies die beste Lösung. Sie benötigen mindestens die Serveradresse und einen Verbindungsnamen. Auf manchen Rechnern schlägt der Befehl beim ersten Mal fehl, funktioniert aber nach einem Neustart des Systems oder einem schnellen Neustart von PowerShell. Dennoch ist es schneller als das Navigieren durch Menüs.
Um beispielsweise ein einfaches VPN zu erstellen, geben Sie Folgendes ein:
Add-VpnConnection -Name "VPNname1" -ServerAddress "vpn.woshub.com" -PassThru
In vielen Fällen benötigen Sie mehr Kontrolle, daher können Sie Optionen wie TunnelType oder Authentifizierungsmethoden hinzufügen.
Konfigurieren benutzerdefinierter VPN-Einstellungen
Hier erweist sich der Befehl als besonders nützlich. Angenommen, Sie möchten ein L2TP-VPN mit einem vorab vereinbarten Schlüssel verwenden oder eine bestimmte Verschlüsselungsstufe festlegen. Der Grund dafür? Es verbessert die Kompatibilität und Sicherheit. Diese Einstellungen sind unerlässlich, wenn die Standardkonfiguration nicht funktioniert oder Ihr VPN-Anbieter bestimmte Einstellungen empfiehlt. Wenn Sie einen benutzerdefinierten Tunneltyp wie IKEv2 oder L2TP konfigurieren, müssen Sie wahrscheinlich zuvor Zertifikate importieren – denn Windows macht es einem natürlich unnötig schwer.
Beispiel für die Erstellung eines L2TP/IPsec-VPN mit einem vorab geteilten Schlüssel:
Add-VpnConnection -Name "VPN_L2TP" -ServerAddress "vpn.woshub.com" -TunnelType L2TP -L2tpPsk "My1pre-SharedKey2" -Force -EncryptionLevel "Required" -AuthenticationMethod MSChapv2 -UseWinlogonCredential -RememberCredential -AllUserConnection –PassThru
Dieser Befehl richtet ein sicheres VPN über IPsec ein. Bei Verwendung von SSTP stellen Sie sicher, dass der Server über ein gültiges SSL-Zertifikat verfügt und importieren Sie die Stammzertifizierungsstelle in Ihren Zertifikatsspeicher, um Zertifikatsfehler zu vermeiden.
Anpassen bestehender VPN-Verbindungen
Manchmal funktioniert die Verbindung zunächst, aber dann müssen Sie etwas anpassen – beispielsweise Split-Tunneling, Verschlüsselung oder Anmeldeinformationen. In solchen Fällen hilft der Befehl „ Set-VpnConnection“.Wenn Sie beispielsweise Split-Tunneling deaktivieren möchten:
Set-VpnConnection -Name "VPN_SSTP" -SplitTunneling $false -PassThru
Dies kann bei DNS-Auflösungsverzögerungen oder Zugriffsproblemen helfen, insbesondere bei bestimmten Netzwerken oder bei der Verwendung statischer Routen.
Verwaltung der VPN-IPsec-Einstellungen
Bei der Verwendung benutzerdefinierter IPsec-Konfigurationen ist der Befehl `Set-VpnConnectionIpsecConfiguration` unerlässlich. Er ermöglicht die Feinabstimmung von Sicherheitsparametern, Hashwerten, Cipher Suites und PFS-Gruppen. Typischer Anwendungsfall: Verbindungen zu Unternehmens-VPNs mit hohen Sicherheitsanforderungen. Wahrscheinlich müssen Sie zuvor CA-Zertifikate und Gerätezertifikate importieren, was etwas aufwendig sein kann, sich aber für die erhöhte Sicherheit lohnt. Beispiel:
Set-VpnConnectionIPsecConfiguration -ConnectionName "VPN_IKEv2" -AuthenticationTransformConstants SHA256128 -CipherTransformConstants AES256 -DHGroup Group14 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 -PfsGroup PFS2048 –PassThru
Speichern von Anmeldeinformationen für VPNs
Wenn Sie Ihren Benutzernamen und Ihr Passwort nicht jedes Mal eingeben möchten oder Vorgänge automatisieren wollen, können Sie die Anmeldeinformationen mit dem Modul VPNCredentialsHelper speichern. Installieren Sie es zuerst:
Install-Module -Name VPNCredentialsHelper
Speichern Sie anschließend Ihre VPN-Anmeldeinformationen sicher im Windows-Anmeldeinformationsmanager:
$user = "vpn_username1" $plainpass = "vpn_password1" Set-VpnConnectionUsernamePassword -connectionname "VPN_SSTP" -username $user -password $plainpass
Auf diese Weise verwaltet Windows Ihre Anmeldeinformationen, und Sie werden nicht jedes Mal dazu aufgefordert.
Hinzufügen statischer Routen zu VPN Connect
Manchmal möchten Sie, dass bestimmter Datenverkehr immer über Ihr VPN geleitet wird. Sie können statische Routen festlegen, die beim Verbindungsaufbau dynamisch hinzugefügt werden:
Add-VpnConnectionRoute -ConnectionName "VPN" -DestinationPrefix 192.168.31.0/24 –PassThru
Diese Route greift erst nach der VPN-Verbindung und eignet sich perfekt für den Fernzugriff auf Subnetze, ohne Ihr allgemeines Netzwerk zu beeinträchtigen.
VPNs auflisten, entfernen und verbinden
Alle Ihre VPNs anzuzeigen ist ganz einfach:
Get-VpnConnection
Zum Trennen oder Entfernen einfach Folgendes ausführen:
Remove-VpnConnection -Name "VPN_SSTP"
Oder stellen Sie eine Verbindung zu einem gespeicherten Profil her mit:
rasdial "VPN_SSTP"
Und zum Überprüfen des Verbindungsstatus:
Get-VpnConnection | Select Name, ConnectionStatus