Profil VPN Windows adalah entri di buku telepon, dan PowerShell adalah salah satu cara mengedit entri itu. Dari perbedaan itu muncul dua kegagalan: kunci yang dibagikan sebelumnya yang sudah rusak saat tiba di server, dan alamat server yang tampak diperbarui tetapi bukan yang akan dihubungi terowongan berikutnya. Keduanya lebih mudah terlihat jika Anda memperlakukan profil sebagai keadaan tersimpan, bukan sebagai perintah yang Anda jalankan. Uraian mengikuti urutan penyuntingan: buat, ubah, cakupan, baca ulang.

Bangun profil dengan kunci literal

Add-VpnConnection menerima kunci L2TP yang dibagikan sebelumnya melalui -L2tpPsk. PowerShell memproses string sebelum cmdlet menerimanya, dan di dalam tanda kutip ganda tanda dolar memulai referensi variabel sementara backtick memulai escape. Kunci yang memuat salah satunya tiba lebih pendek, atau dengan karakter berbeda, dan profil tetap berhasil dibuat dengan rahasia yang salah.

Kegagalan kemudian muncul pada autentikasi IPsec, tempat terowongan menolak naik. Itulah sebabnya kesalahan tanda kutip sering dilaporkan sebagai masalah di sisi server: profilnya ada, namanya benar, dan rahasianya diam-diam salah.

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

Tanda kutip tunggal adalah solusinya, dan harus mengapit seluruh nilai. Jika entri sudah ada dengan kunci buruk, -Force menggantikannya, atau hapus dan buat ulang profil lalu uji dengan koneksi baru:

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

Jauhkan rahasia sebenarnya dari riwayat shell dan skrip bersama. Bacalah saat dijalankan dari penyimpanan yang disetujui dan berikan variabel alih-alih literal, yang sepenuhnya menghindari masalah tanda kutip.

Ubah alamat, lalu sambung ulang

Set-VpnConnection menerima parameter yang dipisahkan spasi, bukan sintaks penetapan. Menulis -ServerAddress = "203.0.113.10" mengirim token tambahan, dan cmdlet akan salah atau menyimpan sesuatu yang tidak Anda maksud. Bentuk yang benar adalah -Name "Office L2TP" -ServerAddress 203.0.113.10.

Bahkan dengan sintaks yang benar, perubahan tidak mencapai terowongan yang sudah naik. Koneksi yang terbentuk mempertahankan alamat yang dihubungi sampai terputus, jadi menguji sesi yang sama tidak membuktikan apa pun tentang nilai baru. Putuskan, edit, sambung ulang, dan pastikan alamat rekan di detail koneksi.

Beberapa properti tidak dapat diubah di tempat. Saat cmdlet menolak, catat parameter yang ada, hapus profil dan buat ulang dengan nilai yang diperbaiki, dan pertahankan pengaturan terowongan serta autentikasi semula. Skrip yang hanya perlu mengubah nomor telepon dapat mengedit entri buku telepon melalui API RAS alih-alih membuat ulang semuanya. Jalur mana pun yang Anda pilih, pastikan nilai tersimpan sesudahnya, jangan percaya pada diamnya perintah.

Ketahui buku telepon mana yang Anda edit

Profil per pengguna berada di direktori koneksi jaringan pengguna itu, dan profil untuk semua pengguna berada di direktori seluruh mesin di bawah pohon data program. Keduanya entri berbeda dengan cakupan berbeda, dan mengedit yang satu membiarkan yang lain tidak tersentuh.

Karena itu perubahan bisa tampak hilang: skrip berjalan dengan satu akun dan pengujian dengan akun lain. Gunakan -AllUserConnection saat profil milik mesin, dan periksa cakupan yang sama saat membacanya kembali.

Baca ulang profil sebelum menguji

Tanyakan kepada Windows apa yang disimpannya, bukan apa yang Anda kirimkan:

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

Bandingkan keluaran itu dengan maksud, lalu mulai koneksi baru. Jika panggilan gagal, periksa log klien RAS di Event Viewer sebelum mengubah profil lagi, karena log menyebut tahap yang gagal.

Jaga rancangan autentikasi tetap utuh selama mengedit. Perintah yang mengubah alamat tetapi membuang sertifikat atau konfigurasi EAP menghasilkan kegagalan yang tampak tidak berkaitan dengan penyuntingan, dan mengekspor profil yang berfungsi lebih dulu memberi Anda sesuatu untuk dipulihkan alih-alih dugaan.

Artikel terkait