A Windows VPN-profil egy telefonkönyvi bejegyzés, a PowerShell pedig az egyik módja annak szerkesztésére. Ebből a különbségből két hiba következik: egy előre megosztott kulcs, amely már sérülten érkezik a kiszolgálóra, és egy kiszolgálócím, amely frissítettnek látszik, de nem az, amelyet a következő alagút tárcsázni fog. Mindkettő könnyebben látható, ha a profilt tárolt állapotként kezeled, nem pedig futtatott parancsként. Az áttekintés a módosítások sorrendjét követi: létrehozás, módosítás, hatókör, visszaolvasás.

Hozd létre a profilt szó szerinti kulccsal

Add-VpnConnection az előre megosztott L2TP kulcsot a -L2tpPsk paraméteren keresztül fogadja. A PowerShell a karakterláncot még azelőtt feldolgozza, hogy a cmdlet megkapná, és a dupla idézőjeleken belül a dollárjel változóhivatkozást indít, a backtick pedig escape-et. Az ilyet tartalmazó kulcs rövidebben, vagy más karakterrel érkezik, és a profil sikeresen létrejön a rossz titokkal.

A hiba aztán az IPsec-hitelesítésnél jelenik meg, ahol az alagút nem hajlandó felépülni. Ezért jelentik olyan gyakran az idézőjelhibát kiszolgálóoldali problémaként: a profil létezik, a név helyes, a titok pedig csendben rossz.

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

A megoldás a szimpla idézőjel, amelynek a teljes értéket körül kell fognia. Ha a bejegyzés már rossz kulccsal létezik, a -Force lecseréli, vagy töröld és hozd létre újra a profilt, majd teszteld új kapcsolattal:

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

Tartsd a valódi titkot a shell-előzményeken és a megosztott szkripteken kívül. Futásidőben olvasd ki a jóváhagyott tárolóból, és a szó szerinti érték helyett a változót add át, ami teljesen elkerüli az idézőjelproblémát.

Módosítsd a címet, majd kapcsolódj újra

Set-VpnConnection szóközzel elválasztott paramétereket fogad, nem értékadási szintaxist. A -ServerAddress = "203.0.113.10" írása egy plusz tokent ad át, és a cmdlet vagy hibázik, vagy valami nem szándékoltat ment. A helyes forma a -Name "Office L2TP" -ServerAddress 203.0.113.10.

Még a helyes szintaxissal sem ér el a módosítás egy már felépült alagutat. A létrejött kapcsolat a tárcsázott címet tartja a bontásig, ezért ugyanazon munkamenet tesztelése semmit nem bizonyít az új értékről. Bontsd a kapcsolatot, szerkeszd, kapcsolódj újra, és igazold a partner címét a kapcsolat részleteiben.

Néhány tulajdonság nem módosítható a helyén. Ha a cmdlet elutasítja, jegyezd fel a meglévő paramétereket, töröld a profilt, és hozd létre újra a javított értékekkel, és tartsd meg az eredeti alagút- és hitelesítési beállításokat. Egy szkript, amelynek csak a telefonszámot kell megváltoztatnia, a telefonkönyvi bejegyzést a RAS API-n keresztül szerkesztheti ahelyett, hogy mindent újraépítene. Bármelyik utat választod, utána igazold a tárolt értékeket, ne a parancs csendjében bízz.

Tudd, melyik telefonkönyvet szerkesztetted

A felhasználónkénti profil az adott felhasználó hálózati kapcsolatok mappájában él, a minden felhasználóra érvényes profil pedig a programadatok fája alatti gép szintű mappában. Ezek különböző hatókörű, különböző bejegyzések, és az egyik szerkesztése a másikat érintetlenül hagyja.

Ezért tűnhet úgy, hogy egy módosítás eltűnt: a szkript az egyik fiókkal futott, a teszt pedig egy másikkal. Használd a -AllUserConnection kapcsolót, ha a profil a géphez tartozik, és visszaolvasáskor ugyanazt a hatókört ellenőrizd.

Olvasd vissza a profilt tesztelés előtt

A Windowstól kérdezd meg, mit tárolt, ne azt, mit adtál át:

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

Hasonlítsd össze ezt a kimenetet a szándékkal, majd indíts új kapcsolatot. Ha a tárcsázás sikertelen, a profil újbóli módosítása előtt nézd meg a RAS-ügyfél naplóját az Eseménynaplóban, mert a napló megnevezi a sikertelen szakaszt.

Szerkesztés közben tartsd sértetlenül a hitelesítési felépítést. Egy parancs, amely megváltoztatja a címet, de elejti a tanúsítványt vagy az EAP-konfigurációt, olyan hibát okoz, amely függetlennek látszik a szerkesztéstől, a működő profil előzetes exportja pedig visszaállítható kiindulópontot ad találgatás helyett.

Kapcsolódó cikkek