Kva ei Windows-.pbk-fil høyrer til (og kva ho ikkje gjer)
Ei .pbk-fil er ei telefonbok som ein profil eller ein RRAS-server eig, ikkje eit flyttbart VPN-skjema. Les eigaren, seksjonen og den eksponerte eigenskapen.
Søkjeresultat gjev deg ei .pbk-fil, nøkkelnamna verkar kjende, og det openberre trekket er å handsame ho som eit flyttbart skjema for kva Windows-VPN som helst. Det er ho ikkje. Formatet høyrer til ein eigar, og same nøkkel tyder ulike ting avhengig av kva eigar som skreiv han. Å lese omfanget fyrst er det som hindrar at ei dokumentasjonsøving blir ei ikkje-støtta endring.
Fire eigarar, fire ulike lesarar
Fire ulike eigarar skriv filer som ser like ut. Den opphavlege tilkoplinga per brukar hamnar i telefonboka til den gjeldande brukaren, medan ei tilkopling for alle brukarar hamnar i eit lager på maskinnivå som kvar konto på verten kan lese. Ein RRAS-server held oppringingskonfigurasjonen for si eiga rutarolle, og ein tredjepartsklient kan halde sitt eige format som berre deler filtypen. Same filtype, fire lesarar, fire regelsett.
Eit samsvarande visingsnamn gjer ikkje to av desse oppføringane til den same, og å kopiere ein nøkkel mellom dei føreset at ein administrator respekterer noko han aldri har dokumentert. Eigaren avgjer òg kven som kan endre fila: ein profil per brukar er eit brukarval, ein profil på maskinnivå er eit administrativt vedtak, og ei oppringingsoppføring på ein server er rutarkonfigurasjon under si eiga endringskontroll. Det gjer ein eigarfeil til eit tilgangsproblem før det blir eit formatproblem.
Avgjer eigaren ved å sjå på komponenten som styrer tilkoplinga, ikkje på fila sjølv. Ei fil er eit artefakt; den styrande komponenten definerer kva nøklar han les og når. Å lese artefakten fyrst og administratoren etterpå er måten folk endar med å redigere eit felt som ingenting spør om.
Kvar det publiserte formatet sluttar å skildre fila di
I RRAS-administrasjonsprotokollen er telefonboka rein tekst som ein administrasjonsklient skriv og rutetenesta les, difor skildrar MS-RRASM-spesifikasjonen oppringingsinnstillingar for ein server og ikkje for ein skrivebordsprofil. Struktur er den delen ei flat lesing øydelegg. Ei oppføring kan halde fleire medieblokker, kvar med einingblokker som igjen held blokker for einskildnummer. Difor kan same nøkkel førekome på meir enn éin stad med ulik tyding.
Les ein nøkkel saman med seksjonen og versjonsnotata, og ikkje omset ein verdi frå ein tilsvarande namngjeven avkryssingsboks i eit skrivebordsgrensesnitt. Å finne kjende nøklar i dokumentet provar ikkje at det dekkjer kvart felt i ein urelatert opphavleg profil. Seksjonsreglane er heller ikkje løyve til å skrive om ei skrivebordstelefonbok i serverformatet.
| 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 |
Tabellen er ei lesehjelp og ikkje ein spesifikasjon: han fortel kva lesar du skal spørje, og lesaren fortel kva feltet tyder. Når den lesaren er ein tredjeparts parser, kan det ærlege svaret vere at ingenting offentleg dokumenterer feltet i det heile.
Spør Windows, ikkje fila
For ei opphavleg tilkopling, spør Windows om profilen i staden for å lese fila, fordi dei typa eigenskapane er den dokumenterte flata og det einaste ei støtta endring endrar. Dei to kommandøane nedanfor les dei to opphavlege lagera kvar for seg. Viss profilen ikkje finst i noko av dei to lagera, brukar klienten som styrer han ikkje den opphavlege mekanismen, og ingen opphavleg cmdlet vil skildre han.
Get-VpnConnection -Name 'Field Ops'
Get-VpnConnection -AllUserConnection | Select-Object Name, ServerAddress, TunnelType
For utrulling og ikkje inspeksjon er den dokumenterte vegen ei administrert profilinnstilling med eit namngjeve skjema, ikkje ei numerisk redigering inne i ein tekst- eller binærblob. Ein profiledefinisjon skildrar støtta innstillingar; han leverer ikkje sertifikata og dei private nøklane profilen er avhengig av. Registrering er ein eigen prosess med si eiga myndigheit, og forståing av ein telefonboknøkkel har aldri distribuert ein privat nøkkel. Planlegg dei to spora kvar for seg, elles blir den fyrste sertifikatutrullinga den andre hendinga.
Éin eigenskap, deretter livssyklusen rundt han
Ein lagra verdi er ikkje ein brukt verdi. Etter ei godkjend endring, opne ei ny tilkopling og kontroller rutene profilen installerer, resolverretningslinjene han arvar, og operasjonen han skulle gjere mogleg. Å bruke om att ei økt som alt var oppe testar dei gamle innstillingane og gjev eit falskt negativt resultat.
Kopier fila til side før noko arbeid på råfila, fordi ei telefonbok med fleire oppføringar er eit delt artefakt, og ei målretta redigering som skriv om heile fila har større radius enn endringa. Hald urelaterte oppføringar intakte, og hald den opphavlege verna konfigurasjonen til den nye er verifisert. Viss eit påkravt felt ikkje er dokumentert for den eigaren og versjonen du faktisk har, før det opp som eit ope støttespørsmål. Å finne opp ein koding frå fila til ein annan maskin er måten ein fungerande profil blir eit feilsøkingsprosjekt utan noko referansepunkt.
Disiplinen er den same ved kvart steg: nemn eigaren, nemn seksjonen, og nemn deretter den støtta operasjonen. Alt anna er ei gissing med ei kjeldehenvising fest på.