Cui aparține un fișier .pbk din Windows (și cui nu)
Un fișier .pbk este o carte de telefon care aparține unui profil sau unui server RRAS, nu o schemă VPN portabilă. Citiți proprietarul, secțiunea și proprietatea expusă.
Rezultatele căutării vă oferă un fișier .pbk, numele cheilor par familiare, iar pasul evident este să îl tratați ca pe o schemă portabilă pentru orice VPN Windows. Nu este. Formatul aparține unui proprietar, iar aceeași cheie înseamnă lucruri diferite în funcție de proprietarul care a scris-o. Citirea mai întâi a domeniului este ceea ce împiedică un exercițiu de documentare să devină o editare neacceptată.
Patru proprietari, patru cititori diferiți
Patru proprietari diferiți scriu fișiere care arată la fel. Conexiunea nativă pentru un singur utilizator ajunge în cartea de telefon a utilizatorului curent, în timp ce o conexiune pentru toți utilizatorii ajunge într-un depozit la nivel de mașină pe care orice cont de pe gazdă îl poate citi. Un server RRAS păstrează configurația de apel la cerere pentru propriul rol de rutare, iar un client terț poate păstra un format propriu care doar împărtășește extensia. Aceeași extensie, patru cititori, patru seturi de reguli.
Un nume de afișare potrivit nu face două dintre acele intrări aceeași intrare, iar copierea unei chei între ele presupune că un administrator va respecta ceva ce nu a documentat niciodată. Proprietarul decide și cine poate modifica fișierul: un profil per utilizator este o alegere a utilizatorului, un profil la nivel de mașină este o decizie administrativă, iar o intrare de apel la cerere pe un server este configurație de rutare sub propriul control al modificărilor. Astfel, o eroare de proprietate este o problemă de permisiuni înainte de a deveni o problemă de format.
Determinați proprietarul uitându-vă la componenta care gestionează conexiunea, nu la fișierul în sine. Un fișier este un artefact; componenta de gestionare definește ce chei citește și când. Citirea mai întâi a artefactului și apoi a administratorului este calea pe care oamenii ajung să editeze un câmp pe care nimic nu îl întreabă.
Unde formatul publicat încetează să vă descrie fișierul
În protocolul de gestionare RRAS, cartea de telefon este text simplu pe care un client de gestionare îl scrie și serviciul de rutare îl citește, de aceea specificația MS-RRASM descrie setări de apel la cerere pentru un server și nu pentru un profil de desktop. Structura este partea pe care o citire plată o distruge. O intrare poate conține mai multe blocuri media, fiecare conținând blocuri de dispozitiv care, la rândul lor, conțin blocuri pentru numere individuale. De aceea aceeași cheie poate apărea în mai multe locuri cu o semnificație diferită.
Citiți o cheie împreună cu secțiunea și notele sale de versiune și nu traduceți o valoare dintr-o casetă cu nume similar dintr-o interfață de desktop. Găsirea unor chei familiare în document nu dovedește că acesta acoperă fiecare câmp al unui profil nativ nelegat. Regulile de secțiune nu sunt nici permisiunea de a rescrie o carte de telefon de desktop în formatul serverului.
| Owner | What reads the file | What a key means there |
|---|---|---|
| Per-user native connection | The user's own connection manager | A property of that user profile |
| All-user native connection | The machine-wide connection store | A property shared by everyone on the host |
| RRAS demand-dial | The RRAS service, using the documented hierarchy | A field inside a media, device or number section |
| Third-party client | That vendor's own parser | Whatever that vendor documents, if anything |
Tabelul este un ajutor de citire, nu o specificație: vă spune ce cititor să consultați, iar cititorul vă spune ce înseamnă câmpul. Când acel cititor este un parser terț, răspunsul onest poate fi că nimic public nu documentează deloc câmpul.
Întrebați Windows, nu fișierul
Pentru o conexiune nativă, cereți Windows-ului profilul în loc să citiți fișierul, pentru că proprietățile tipizate sunt suprafața documentată și singurul lucru pe care îl modifică o schimbare acceptată. Cele două comenzi de mai jos citesc cele două depozite native separat. Dacă profilul nu este în niciunul dintre cele două depozite, clientul care îl gestionează nu folosește mecanismul nativ și niciun cmdlet nativ nu îl va descrie.
Get-VpnConnection -Name 'Field Ops'
Get-VpnConnection -AllUserConnection | Select-Object Name, ServerAddress, TunnelType
Pentru implementare și nu pentru inspecție, calea documentată este o setare de profil gestionată cu o schemă numită, nu o editare numerică în interiorul unui blob text sau binar. O definiție de profil descrie setările acceptate; ea nu furnizează certificatele și cheile private de care depinde profilul. Înregistrarea este un proces separat cu propria autoritate, iar înțelegerea unei chei din cartea de telefon nu a distribuit niciodată o cheie privată. Planificați cele două trasee separat, altfel prima implementare de certificate devine al doilea incident.
O proprietate, apoi ciclul de viață din jurul ei
O valoare salvată nu este o valoare aplicată. După o modificare aprobată, deschideți o conexiune nouă și verificați rutele pe care profilul le instalează, politica de rezolvare pe care o moștenește și operațiunea pe care trebuia să o permită. Reutilizarea unei sesiuni care era deja activă testează setările vechi și produce un fals negativ.
Copiați fișierul deoparte înainte de orice lucru pe fișierul brut, pentru că o carte de telefon cu mai multe intrări este un artefact partajat, iar o editare țintită care rescrie tot fișierul are o rază de impact mai mare decât schimbarea. Păstrați neatinse intrările nelegate și păstrați configurația protejată originală până când cea nouă este verificată. Dacă un câmp obligatoriu nu este documentat pentru proprietarul și versiunea pe care le aveți efectiv, notați asta ca o întrebare de asistență deschisă. Inventarea unei codificări din fișierul altei mașini este felul în care un profil funcțional devine un proiect de depanare fără niciun punct de referință.
Disciplina este aceeași la fiecare pas: numiți proprietarul, numiți secțiunea, apoi numiți operațiunea acceptată. Orice altceva este o presupunere cu o citare atașată.