Un rasphone.pbk copiat a șters celelalte VPN la nivel de sistem
Înlocuirea agendei telefonice globale pentru a livra un singur VPN șterge fiecare altă conexiune stocată în ea. Dețineți un profil cu nume, previzualizați-l, apoi demonstrați că restul supraviețuiește.
Noul VPN a apărut, autentificarea a funcționat, iar un VPN terț care trăia pe mașină de doi ani a dispărut în aceeași repornire. Nimic din jurnalul de implementare nu l-a menționat, pentru că nimic din implementare nu se ocupa de el. Pachetul înlocuise agenda telefonică globală, iar cealaltă conexiune era o intrare în acel fișier. Aceasta este o operațiune de copiere care se comportă exact cum trebuie să se comporte o operațiune de copiere.
Remedierea nu este o copie mai bună. Este să nu copiezi fișierul.
Ce conține de fapt agenda telefonică
Agenda telefonică este un recipient de definiții de conexiune, nu un profil. Intrările pe utilizator trăiesc în profilul utilizatorului, iar intrările pentru toți utilizatorii trăiesc în calea ProgramData la nivel de mașină, de aceea o implementare care scrie acel fișier atinge fiecare utilizator local deodată. Același fișier poartă și intrări create de alți furnizori, și de acolo vine prejudiciul colateral.
Nici definiția conexiunii nu este toată povestea. Rutele, politica DNS, materialul CA de încredere și identitatea sunt asigurate de proprietari separați.
Stabiliți ce domeniu deține profilul
Enumerați ambele domenii înainte de a scrie ceva. Get-VpnConnection returnează intrările utilizatorului curent și Get-VpnConnection -AllUserConnection le returnează pe cele la nivel de mașină, iar același nume poate exista în ambele cu setări diferite. Decideți ce domeniu deține implementarea voastră și notați-l, pentru că actualizarea domeniului greșit lasă utilizatorul să se conecteze prin profilul vechi în timp ce modificarea voastră stă într-un fișier pe care nimeni nu îl citește. O sarcină programată care rulează ca SYSTEM vede și un set diferit de profiluri față de utilizatorul conectat.
Numirea proprietarului este pasul care îl oprește pe următorul inginer să repete copierea întregului fișier.
Creați sau actualizați conexiunea cu nume, nimic altceva
Pentru un profil Windows nativ, Add-VpnConnection creează o singură intrare, iar -AllUserConnection alege domeniul la nivel de mașină. Rulați-l mai întâi cu -WhatIf, pentru ca previzualizarea să ajungă în transcrierea voastră și nu într-o reclamație a utilizatorului:
Add-VpnConnection -Name 'Office VPN' -ServerAddress 'vpn.example.com' -TunnelType Ikev2 -AuthenticationMethod Eap -EapConfigXmlStream $approvedEapXml -AllUserConnection -WhatIfXML-ul EAP trebuie să vină de undeva legitim: exportat dintr-un profil de referință funcțional sau generat de instrumentele voastre de administrare pentru gateway-ul real. Fără setările corecte de încredere în server, profilul fie se conectează la lucrul greșit, fie eșuează pretutindeni, iar niciuna nu este o implementare reușită.
Când intrarea există deja, comparați-i setările și actualizați-o cu Set-VpnConnection în loc să o ștergeți și să o recreați. Ștergerea este modul în care o configurație funcțională pierde câmpuri pe care nimeni nu le-a documentat și modul în care intrările fără legătură ajung prinse într-o curățenie largă.
Verificați dacă există un al doilea sistem de administrare care va pune profilul vechi la loc la următoarea reîmprospătare a politicii. Probele eșuează aici mai des decât la cmdlet.
Testați pe o mașină care are deja un alt VPN
Alegeți o mașină de test cu o intrare fără legătură la nivel de mașină, implementați, apoi verificați trei lucruri: profilul nou apare în domeniul dorit, autentificarea ajunge la o resursă privată, iar intrarea fără legătură se conectează în continuare. Implementați de încă două ori și confirmați că a doua rulare schimbă doar profilul pe care îl deține. Acea a treia verificare prinde un pachet idempotent pentru propria intrare și distructiv pentru orice altceva.
Eliminarea urmează aceeași regulă: Remove-VpnConnection -Name 'Office VPN' -AllUserConnection retrage o intrare și lasă restul fișierului în pace.
Păstrați disponibilă configurația dorită anterioară, astfel încât o revenire limitată să însemne reimportarea unui profil, nu restaurarea întregii stări a mașinii.