Add-VpnConnection: wêrom't de PSK brekt en it adres stean bliuwt
PowerShell wreidet in foarôf dielde kaai tusken dûbele oanhelstekens út foardat it cmdlet him bewarret, en in rinnende tunnel hâldt it âlde adres oant jo wer ferbine.
In Windows VPN-profyl is in ynskriuwing yn in telefoanboek, en PowerShell is ien manier om dy ynskriuwing te bewurkjen. Ut dat ferskil folgje twa mislearrings: in foarôf dielde kaai dy't al skansearre by de tsjinner oankomt, en in tsjinneradres dat bywurke liket mar net it ien is dêr't de folgjende tunnel op skilje sil. Beide binne makliker te sjen as jo it profyl as bewarre tastân behannelje ynstee fan as in opdracht dy't jo útfierd hawwe. De útwurking folget de folchoarder fan de bewurkings: meitsje, feroarje, berik, weromlêze.
Bou it profyl mei in letterlike kaai
Add-VpnConnection nimt de foarôf dielde L2TP-kaai oan fia -L2tpPsk. PowerShell ferwurket de tekenrige foardat it cmdlet dy krijt, en binnen dûbele oanhelstekens begjint in dollarteken in fariabeleferwizing wylst in backtick in escape begjint. In kaai dêr't ien fan beiden yn sit komt koarter oan, of mei in oar teken, en it profyl wurdt mei súkses oanmakke mei it ferkearde geheim.
Dan docht de mislearring him foar by IPsec-autentikaasje, dêr't de tunnel wegeret om op te kommen. Dêrom wurdt in oanhelstekensflater sa faak as in probleem oan tsjinnerkant rapportearre: it profyl bestiet, de namme is goed, en it geheim is stil ferkeard.
| How you write it | What PowerShell does | Result |
|---|---|---|
| "p@ss$word!42" | Expands $word as a variable | Stored key is truncated |
| Double-quoted with an escape character | Consumes the next character as an escape | One character disappears |
| 'p@ss$word!42' | Keeps the literal characters | Stored key matches the secret |
Inkelde oanhelstekens binne de oplossing, en se moatte de hiele wearde omklamje. As de ynskriuwing al mei in minne kaai bestiet, ferfangt -Force him, of ferwiderje en meitsje it profyl op nij en test dan mei in nije ferbining:
Add-VpnConnection -Name "Contoso-L2TP" -ServerAddress vpn.contoso.example -TunnelType L2tp -L2tpPsk 'n3w$ecret!2026' -AuthenticationMethod Pap -RememberCredential -Force
Hâld it echte geheim bûten de shell-skiednis en dielde skripten. Lês it by útfoering út it goedkarde opslachplak en jou de fariabele troch ynstee fan it letterlike, wat it oanhelstekensprobleem hielendal foarkomt.
Feroarje it adres, en ferbynje dan wer
Set-VpnConnection nimt parameters skieden troch spaasjes, net tawizingssyntaksis. -ServerAddress = "203.0.113.10" skriuwe jout in ekstra token troch, en it cmdlet jout of in flater of bewarret eat dat jo net bedoelden. De goede foarm is -Name "Office L2TP" -ServerAddress 203.0.113.10.
Sels mei de goede syntaksis berikt de feroaring gjin tunnel dy't al omheech is. In fêststelde ferbining hâldt it adres dêr't se op skille hat oant se loskeppele wurdt, dat itselde sesje testen bewiist neat oer de nije wearde. Skeppel los, bewurkje, ferbynje wer, en befêstigje it adres fan de oare kant yn de details fan de ferbining.
Guon eigenskippen kinne net op it plak feroare wurde. As it cmdlet wegeret, skriuw dan de besteande parameters op, ferwiderje it profyl en meitsje it op nij mei de korrizjearre wearden, en hâld de oarspronklike tunnel- en autentikaasje-ynstellingen. In skript dat allinnich it telefoannûmer feroarje moat, kin de ynskriuwing yn it telefoanboek fia de RAS-API bewurkje ynstee fan alles op nij te meitsjen. Hokker rûte jo ek nimme, befêstigje efterôf de bewarre wearden ynstee fan op de stilte fan de opdracht te fertrouwen.
Wit hokker telefoanboek jo bewurke hawwe
In profyl per brûker wennet yn de map foar netwurkferbiningen fan dy brûker, en in profyl foar alle brûkers wennet yn de masinebrede map ûnder de beam mei programmadata. It binne ferskillende ynskriuwings mei ferskillende berikken, en ien bewurkje lit de oare ûnoantaast.
Dêrom kin in feroaring lykje te ferdwinen: it skript rûn ûnder ien akkount, en de test ûnder in oar. Brûk -AllUserConnection as it profyl fan de masine is, en kontrolearje itselde berik as jo it weromlêze.
Lês it profyl werom foardat jo testen
Freegje Windows wat it bewarre hat, net wat jo trochjûn hawwe:
Get-VpnConnection -Name "Office L2TP" | Select-Object Name, ServerAddress, TunnelType, AuthenticationMethod
Fergelykje dy útfier mei de bedoeling en start dan in nije ferbining. As it skiljen mislearret, besjoch dan it RAS-klantloch yn Event Viewer foardat jo it profyl wer feroarje, want it loch neamt de faze dy't mislearre.
Hâld it autentikaasje-ûntwerp ûnferoare wylst jo bewurkje. In opdracht dy't it adres feroaret mar it sertifikaat of de EAP-konfiguraasje weilitten lit, leveret in mislearring op dy't unferbânlik mei de bewurking liket, en it eksportearjen fan it wurkjende profyl foarôf jout jo eat om werom te setten ynstee fan in gissing.