Profil VPN ve Windows je záznam v telefonním seznamu a PowerShell je jeden ze způsobů, jak tento záznam upravit. Z tohoto rozlišení plynou dvě selhání: předem sdílený klíč, který na server dorazí už poškozený, a adresa serveru, která vypadá aktualizovaně, ale není ta, na kterou bude volat příští tunel. Obojí je snazší vidět, když k profilu přistupujete jako k uloženému stavu, ne jako k příkazu, který jste spustili. Postup jde v pořadí, v jakém úpravy probíhají: vytvoření, změna, rozsah, zpětné čtení.

Vytvořte profil s doslovným klíčem

Add-VpnConnection přijímá předem sdílený klíč L2TP přes -L2tpPsk. PowerShell zpracuje řetězec dřív, než ho cmdlet obdrží, a uvnitř dvojitých uvozovek začíná znak dolaru odkaz na proměnnou, zatímco backtick začíná escape. Klíč, který obsahuje kterýkoli z nich, dorazí kratší nebo s jiným znakem a profil se úspěšně vytvoří s nesprávným tajemstvím.

Selhání se pak projeví při ověřování IPsec, kde tunel odmítne vstát. Proto se chyba v uvozovkách tak často hlásí jako problém na straně serveru: profil existuje, jméno je správné a tajemství je tiše špatné.

How you write itWhat PowerShell doesResult
"p@ss$word!42"Expands $word as a variableStored key is truncated
Double-quoted with an escape characterConsumes the next character as an escapeOne character disappears
'p@ss$word!42'Keeps the literal charactersStored key matches the secret

Jednoduché uvozovky jsou řešením a musí obklopit celou hodnotu. Pokud záznam už existuje se špatným klíčem, -Force ho nahradí, nebo profil odeberte a vytvořte znovu a pak otestujte novým připojením:

Add-VpnConnection -Name "Contoso-L2TP" -ServerAddress vpn.contoso.example -TunnelType L2tp -L2tpPsk 'n3w$ecret!2026' -AuthenticationMethod Pap -RememberCredential -Force

Držte skutečné tajemství mimo historii shellu a sdílené skripty. Čtěte ho za běhu ze schváleného úložiště a předávejte proměnnou místo doslovné hodnoty, což problém s uvozovkami zcela obejde.

Změňte adresu a potom se znovu připojte

Set-VpnConnection přebírá parametry oddělené mezerami, ne syntaxi přiřazení. Zápis -ServerAddress = "203.0.113.10" předá další token a cmdlet buď selže, nebo uloží něco, co jste nezamýšleli. Správný tvar je -Name "Office L2TP" -ServerAddress 203.0.113.10.

Ani se správnou syntaxí se změna nedostane do tunelu, který už je nahoru. Navázané připojení drží adresu, na kterou volalo, dokud se nepřeruší, takže testování stejné relace nic o nové hodnotě nedokazuje. Odpojte se, upravte, připojte se znovu a potvrďte adresu protistrany v podrobnostech připojení.

Některé vlastnosti nelze měnit na místě. Když cmdlet odmítne, poznamenejte si stávající parametry, smažte profil a vytvořte ho znovu s opravenými hodnotami a zachovejte původní nastavení tunelu a ověřování. Skript, který potřebuje změnit jen telefonní číslo, může upravit záznam v seznamu přes RAS API, místo aby všechno vytvářel znovu. Ať zvolíte kteroukoli cestu, poté uložené hodnoty potvrďte, místo abyste věřili mlčení příkazu.

Vězte, který seznam jste upravili

Profil pro jednotlivého uživatele žije v adresáři síťových připojení tohoto uživatele a profil pro všechny uživatele v celostrojovém adresáři pod stromem programových dat. Jsou to různé záznamy s různým rozsahem a úprava jednoho nechá druhý nedotčený.

Proto může změna vypadat, že zmizela: skript běžel pod jedním účtem a test pod jiným. Použijte -AllUserConnection, když profil patří stroji, a při zpětném čtení zkontrolujte stejný rozsah.

Přečtěte profil zpět, než začnete testovat

Ptejte se Windows, co uložil, ne co jste předali:

Get-VpnConnection -Name "Office L2TP" | Select-Object Name, ServerAddress, TunnelType, AuthenticationMethod

Porovnejte tento výstup se záměrem a potom spusťte nové připojení. Pokud vytáčení selže, než profil znovu změníte, podívejte se do protokolu klienta RAS ve Zobrazení událostí, protože protokol pojmenuje fázi, která selhala.

Během úprav zachovejte návrh ověřování nedotčený. Příkaz, který změní adresu, ale zahodí certifikát nebo konfiguraci EAP, vytvoří selhání, které vypadá nesouvisející s úpravou, a export funkčního profilu předem vám dá co obnovit místo dohadu.

Související články