Windows VPN profil je zapis u telefonskom imeniku, a PowerShell je jedan od načina da uredite taj zapis. Iz te razlike proizlaze dva kvara: unapred deljeni ključ koji na server stiže već oštećen i adresa servera koja izgleda ažurirano, ali nije ona koju će sledeći tunel birati. Oboje je lakše uočiti ako profil tretirate kao sačuvano stanje, a ne kao naredbu koju ste izvršili. Pregled prati redosled kojim se izmene dešavaju: kreiranje, izmena, obuhvat, ponovno čitanje.

Napravite profil sa doslovnim ključem

Add-VpnConnection prihvata unapred deljeni L2TP ključ kroz -L2tpPsk. PowerShell obrađuje niz pre nego što ga cmdlet primi, a unutar dvostrukih navodnika znak dolara počinje referencu na promenljivu dok backtick počinje escape. Ključ koji sadrži bilo šta od toga stiže kraći ili sa drugim znakom, a profil se uspešno kreira sa pogrešnom tajnom.

Zatim se kvar pojavljuje pri IPsec autentifikaciji, gde tunel odbija da se podigne. Zato se greška u navodnicima tako često prijavljuje kao problem na strani servera: profil postoji, ime je ispravno, a tajna je tiho pogrešna.

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

Jednostruki navodnici su rešenje i moraju obuhvatiti celu vrednost. Ako zapis već postoji sa lošim ključem, -Force ga zamenjuje, ili uklonite i ponovo napravite profil pa testirajte novom vezom:

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

Držite pravu tajnu izvan istorije ljuske i deljenih skripti. Čitajte je u vreme izvršavanja iz odobrenog skladišta i prosleđujte promenljivu umesto doslovne vrednosti, što potpuno izbegava problem sa navodnicima.

Promenite adresu, pa se ponovo povežite

Set-VpnConnection prima parametre odvojene razmakom, a ne sintaksu dodele. Pisanje -ServerAddress = "203.0.113.10" prosleđuje dodatni token, pa cmdlet ili prijavi grešku ili sačuva nešto što niste nameravali. Ispravan oblik je -Name "Office L2TP" -ServerAddress 203.0.113.10.

Čak i sa ispravnom sintaksom promena ne stiže do tunela koji je već podignut. Uspostavljena veza zadržava adresu koju je birala dok se ne prekine, pa testiranje iste sesije ništa ne dokazuje o novoj vrednosti. Prekinite vezu, uredite, ponovo se povežite i potvrdite adresu druge strane u detaljima veze.

Neka svojstva se ne mogu menjati na mestu. Kada cmdlet odbije, zabeležite postojeće parametre, obrišite profil i ponovo ga napravite sa ispravljenim vrednostima, i zadržite izvorne postavke tunela i autentifikacije. Skripta koja treba da promeni samo telefonski broj može urediti zapis u telefonskom imeniku kroz RAS API umesto da sve pravi iznova. Koji god put odaberete, potvrdite sačuvane vrednosti nakon toga umesto da verujete tišini naredbe.

Znajte koji ste imenik uredili

Profil po korisniku živi u direktorijumu mrežnih veza tog korisnika, a profil za sve korisnike u direktorijumu na nivou računara pod stablom programskih podataka. To su različiti zapisi sa različitim obuhvatom, a uređivanje jednog ostavlja drugi netaknutim.

Zato promena može izgledati kao da je nestala: skripta je radila pod jednim računom, a test pod drugim. Koristite -AllUserConnection kada profil pripada računaru, i proverite isti obuhvat kada ga čitate ponovo.

Pročitajte profil ponovo pre testiranja

Pitajte Windows šta je sačuvao, a ne šta ste prosledili:

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

Uporedite taj izlaz sa namerom, pa pokrenite novu vezu. Ako biranje ne uspe, proverite zapisnik RAS klijenta u pregledaču događaja pre nego što ponovo promenite profil, jer zapisnik imenuje fazu koja je pala.

Sačuvajte nacrt autentifikacije netaknutim tokom uređivanja. Naredba koja promeni adresu ali ispusti sertifikat ili EAP konfiguraciju stvara kvar koji izgleda nepovezano sa izmenom, a izvoz radnog profila unapred vam daje nešto za vraćanje umesto nagađanja.

Povezani članci