Add-VpnConnection: PSK neden bozulur ve adres neden eski kalır
PowerShell, çift tırnak içindeki önceden paylaşılan anahtarı cmdlet onu kaydetmeden önce genişletir ve çalışan tünel, siz yeniden bağlanana kadar eski adresi tutar.
Windows VPN profili bir telefon defteri girdisidir ve PowerShell bu girdiyi düzenlemenin bir yoludur. Bu ayrımdan iki arıza doğar: sunucuya zaten bozulmuş olarak ulaşan önceden paylaşılan anahtar ve güncellenmiş görünen ama sonraki tünelin arayacağı adres olmayan sunucu adresi. Profili çalıştırdığınız bir komut olarak değil, kaydedilmiş durum olarak ele aldığınızda ikisi de daha kolay görülür. Anlatım düzenlemelerin sırasını izler: oluştur, değiştir, kapsam, geri oku.
Profili birebir anahtarla oluşturun
Add-VpnConnection önceden paylaşılan L2TP anahtarını -L2tpPsk aracılığıyla kabul eder. PowerShell dizeyi cmdlet onu almadan önce işler ve çift tırnak içinde dolar işareti bir değişken başvurusu başlatırken backtick bir kaçış dizisi başlatır. Bunlardan birini içeren anahtar daha kısa ya da başka bir karakterle gelir ve profil yanlış sırla başarıyla oluşturulur.
Ardından arıza IPsec kimlik doğrulamasında ortaya çıkar ve tünel yükselmeyi reddeder. Bu yüzden tırnak hatası bu kadar sık sunucu tarafı sorun olarak bildirilir: profil vardır, ad doğrudur ve sır sessizce yanlıştır.
| 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 |
Tek tırnak çözümdür ve tüm değeri sarmalıdır. Girdi zaten kötü bir anahtarla varsa -Force onu değiştirir, ya da profili kaldırıp yeniden oluşturun ve sonra yeni bir bağlantıyla deneyin:
Add-VpnConnection -Name "Contoso-L2TP" -ServerAddress vpn.contoso.example -TunnelType L2tp -L2tpPsk 'n3w$ecret!2026' -AuthenticationMethod Pap -RememberCredential -Force
Gerçek sırrı kabuk geçmişinin ve paylaşılan betiklerin dışında tutun. Çalışma anında onaylı depodan okuyun ve birebir değer yerine değişkeni geçirin; bu, tırnak sorununu tamamen önler.
Adresi değiştirin, sonra yeniden bağlanın
Set-VpnConnection atama sözdizimi değil, boşlukla ayrılmış parametreler alır. -ServerAddress = "203.0.113.10" yazmak fazladan bir belirteç geçirir ve cmdlet ya hata verir ya da amaçlamadığınız bir şeyi kaydeder. Doğru biçim -Name "Office L2TP" -ServerAddress 203.0.113.10.
Sözdizimi doğru olsa bile değişiklik zaten ayakta olan bir tünele ulaşmaz. Kurulmuş bağlantı, kesilene kadar aradığı adresi korur; bu yüzden aynı oturumu denemek yeni değer hakkında hiçbir şey kanıtlamaz. Bağlantıyı kesin, düzenleyin, yeniden bağlanın ve bağlantı ayrıntılarında karşı tarafın adresini doğrulayın.
Bazı özellikler yerinde değiştirilemez. Cmdlet reddettiğinde var olan parametreleri not edin, profili silip düzeltilmiş değerlerle yeniden oluşturun ve özgün tünel ile kimlik doğrulama ayarlarını koruyun. Yalnızca telefon numarasını değiştirmesi gereken bir betik her şeyi yeniden oluşturmak yerine telefon defteri girdisini RAS API üzerinden düzenleyebilir. Hangi yolu seçerseniz seçin, sonrasında kaydedilen değerleri doğrulayın; komutun sessizliğine güvenmeyin.
Hangi telefon defterini düzenlediğinizi bilin
Kullanıcı başına profil o kullanıcının ağ bağlantıları dizininde, tüm kullanıcılar için profil ise program verileri ağacının altındaki makine geneli dizinde yaşar. Bunlar farklı kapsamlara sahip farklı girdilerdir ve birini düzenlemek diğerine dokunmaz.
Bu yüzden bir değişiklik kaybolmuş gibi görünebilir: betik bir hesapta, test başka bir hesapta çalıştı. Profil makineye aitse -AllUserConnection kullanın, ve geri okurken aynı kapsamı denetleyin.
Test etmeden önce profili geri okuyun
Windows a ne kaydettiğini sorun, ne geçirdiğinizi değil:
Get-VpnConnection -Name "Office L2TP" | Select-Object Name, ServerAddress, TunnelType, AuthenticationMethod
Bu çıktıyı amaçla karşılaştırın, sonra yeni bir bağlantı başlatın. Arama başarısız olursa, profili yeniden değiştirmeden önce Event Viewer içindeki RAS istemci günlüğüne bakın, çünkü günlük başarısız olan aşamayı adlandırır.
Düzenleme sırasında kimlik doğrulama tasarımını bozmayın. Adresi değiştirip sertifikayı ya da EAP yapılandırmasını düşüren bir komut, düzenlemeyle ilgisiz görünen bir arıza üretir ve çalışan profili önceden dışa aktarmak size tahmin yerine geri yüklenecek bir şey verir.