Add-VpnConnection: pse prishet PSK-ja dhe pse adresa mbetet e vjetër
PowerShell e zgjeron një çelës të ndarë paraprakisht brenda thonjëzave të dyfishta përpara se cmdlet-i ta ruajë, dhe një tunel aktiv mban adresën e vjetër derisa të rilidheni.
Profili VPN i Windows është një zë në një libër telefoni, dhe PowerShell është një mënyrë për të redaktuar atë zë. Nga ky dallim vijnë dy dështime: një çelës i ndarë paraprakisht që arrin në server tashmë i dëmtuar, dhe një adresë serveri që duket e përditësuar por nuk është ajo që do të telefonojë tuneli i radhës. Të dyja shihen më lehtë nëse e trajtoni profilin si gjendje të ruajtur dhe jo si një komandë që e ekzekutuat. Shpjegimi ndjek renditjen e ndryshimeve: krijo, ndrysho, shtrirje, rilexo.
Ndërtoni profilin me një çelës fjalëpërfjalë
Add-VpnConnection pranon çelësin L2TP të ndarë paraprakisht përmes -L2tpPsk. PowerShell e përpunon vargun përpara se cmdlet-i ta marrë, dhe brenda thonjëzave të dyfishta shenja e dollarit nis një referencë ndryshoreje ndërsa backtick nis një escape. Një çelës që përmban njërën prej tyre arrin më i shkurtër, ose me një karakter tjetër, dhe profili krijohet me sukses me sekretin e gabuar.
Më pas dështimi shfaqet në vërtetimin IPsec, ku tuneli refuzon të ngrihet. Kjo është arsyeja pse një gabim thonjëzash raportohet kaq shpesh si problem në anën e serverit: profili ekziston, emri është i saktë dhe sekreti është në heshtje i gabuar.
| 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 |
Thonjëzat e vetme janë zgjidhja, dhe ato duhet të rrethojnë të gjithë vlerën. Nëse zëri ekziston tashmë me një çelës të keq, -Force e zëvendëson, ose hiqni dhe rikrijoni profilin dhe më pas provoni me një lidhje të re:
Add-VpnConnection -Name "Contoso-L2TP" -ServerAddress vpn.contoso.example -TunnelType L2tp -L2tpPsk 'n3w$ecret!2026' -AuthenticationMethod Pap -RememberCredential -Force
Mbajeni sekretin e vërtetë jashtë historisë së shell-it dhe skripteve të përbashkëta. Lexojeni në kohë ekzekutimi nga depoja e miratuar dhe kaloni ndryshoren në vend të literales, gjë që shmang plotësisht problemin e thonjëzave.
Ndryshoni adresën, pastaj rilidhuni
Set-VpnConnection pranon parametra të ndarë me hapësira, jo sintaksë caktimi. Shkrimi i -ServerAddress = "203.0.113.10" kalon një token shtesë, dhe cmdlet-i ose gabon ose ruan diçka që nuk e kishit ndërmend. Forma e saktë është -Name "Office L2TP" -ServerAddress 203.0.113.10.
Edhe me sintaksën e saktë, ndryshimi nuk arrin në një tunel tashmë të ngritur. Një lidhje e vendosur mban adresën që telefonoi derisa të shkëputet, prandaj testimi i së njëjtës sesion nuk provon asgjë për vlerën e re. Shkëputuni, redaktoni, rilidhuni dhe konfirmoni adresën e palës tjetër në detajet e lidhjes.
Disa veti nuk mund të ndryshohen në vend. Kur cmdlet-i refuzon, shënoni parametrat ekzistues, fshini profilin dhe rikrijoni atë me vlerat e korrigjuara, dhe mbani cilësimet origjinale të tunelit dhe të vërtetimit. Një skript që duhet të ndryshojë vetëm numrin e telefonit mund të redaktojë zërin në librin e telefonit përmes API RAS në vend që të rikrijojë gjithçka. Cilado rrugë të zgjidhni, konfirmoni më pas vlerat e ruajtura në vend që t i besoni heshtjes së komandës.
Dijeni cilin libër telefoni redaktuat
Profili për çdo përdorues banon në drejtorinë e lidhjeve të rrjetit të atij përdoruesi, dhe profili për të gjithë përdoruesit banon në drejtorinë e të gjithë makinës nën pemën e të dhënave të programeve. Këto janë zëra të ndryshëm me shtrirje të ndryshme, dhe redaktimi i njërit e lë tjetrin të paprekur.
Prandaj një ndryshim mund të duket se zhduket: skripti ekzekutohej nën një llogari dhe testi nën një tjetër. Përdorni -AllUserConnection kur profili i përket makinës, dhe kontrolloni të njëjtën shtrirje kur e rilexoni.
Rilexoni profilin përpara se të testoni
Pyetni Windows-in çfarë ruajti, jo çfarë kaluat:
Get-VpnConnection -Name "Office L2TP" | Select-Object Name, ServerAddress, TunnelType, AuthenticationMethod
Krahasoni atë dalje me qëllimin, pastaj nisni një lidhje të re. Nëse thirrja dështon, kontrolloni regjistrin e klientit RAS në Shikuesin e ngjarjeve përpara se të ndryshoni përsëri profilin, sepse regjistri emërton fazën që dështoi.
Mbajeni të paprekur modelin e vërtetimit gjatë redaktimit. Një komandë që ndryshon adresën por heq dëshminë ose konfigurimin EAP prodhon një dështim që duket i palidhur me redaktimin, dhe eksportimi i profilit që funksionon përpara ju jep diçka për të rikthyer në vend të një supozimi.