Windows VPN profil je zapis u telefonskom imeniku, a PowerShell je jedan od načina da uredite taj zapis. Iz te razlike slijede dva neuspjeha: unaprijed dijeljeni ključ koji na server stiže već oštećen i adresa servera koja izgleda ažurirano, ali nije ona koju će sljedeći tunel birati. Oboje je lakše vidjeti ako profil tretirate kao sačuvano stanje, a ne kao naredbu koju ste izvršili. Pregled slijedi redoslijed kojim se izmjene dešavaju: kreiranje, izmjena, obuhvat, ponovno čitanje.

Napravite profil s doslovnim ključem

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

Zatim se neuspjeh pojavljuje pri IPsec autentifikaciji, gdje 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 rješenje i moraju obuhvatiti cijelu vrijednost. Ako zapis već postoji s lošim ključem, -Force ga zamjenjuje, 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 historije ljuske i dijeljenih skripti. Čitajte je u vrijeme izvršavanja iz odobrenog spremišta i prosljeđujte varijablu umjesto doslovne vrijednosti, što u potpunosti izbjegava problem s navodnicima.

Promijenite adresu, pa se ponovo povežite

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

Čak i s ispravnom sintaksom promjena 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 vrijednosti. Prekinite vezu, uredite, ponovo se povežite i potvrdite adresu druge strane u detaljima veze.

Neka svojstva se ne mogu mijenjati na mjestu. Kada cmdlet odbije, zabilježite postojeće parametre, obrišite profil i ponovo ga napravite s ispravljenim vrijednostima, i zadržite originalne postavke tunela i autentifikacije. Skripta koja treba promijeniti samo telefonski broj može urediti zapis u telefonskom imeniku kroz RAS API umjesto da sve pravi iznova. Koji god put odaberete, potvrdite sačuvane vrijednosti nakon toga umjesto da vjerujete tišini naredbe.

Znajte koji ste imenik uredili

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

Zato promjena 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 provjerite isti obuhvat kada ga čitate ponovo.

Pročitajte profil ponovo prije testiranja

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

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

Uporedite taj izlaz s namjerom, pa pokrenite novu vezu. Ako biranje ne uspije, provjerite zapisnik RAS klijenta u Event Vieweru prije nego što ponovo mijenjate profil, jer zapisnik imenuje fazu koja je pala.

Očuvajte dizajn autentifikacije netaknutim tokom uređivanja. Naredba koja promijeni adresu ali ispusti certifikat ili EAP konfiguraciju proizvodi neuspjeh koji izgleda nepovezan s izmjenom, a izvoz radnog profila unaprijed daje vam nešto za vraćanje umjesto nagađanja.

Povezani članci