Sökresultat ger dig en .pbk-fil, nyckelnamnen ser bekanta ut, och det uppenbara draget är att behandla den som ett portabelt schema för vilken Windows-VPN som helst. Det är den inte. Formatet tillhör en ägare, och samma nyckel betyder olika saker beroende på vilken ägare som skrev den. Att läsa omfattningen först är det som hindrar att en dokumentationsövning blir en ändring utan stöd.

Fyra ägare, fyra olika läsare

Fyra olika ägare skriver filer som ser likadana ut. Den inbyggda anslutningen per användare hamnar i den aktuella användarens telefonbok, medan en anslutning för alla användare hamnar i ett lager på maskinnivå som varje konto på värden kan läsa. En RRAS-server håller uppringningskonfigurationen för sin egen routingroll, och en tredjepartsklient kan hålla ett eget format som bara delar filändelsen. Samma filändelse, fyra läsare, fyra regeluppsättningar.

Ett matchande visningsnamn gör inte två av dessa poster till samma post, och att kopiera en nyckel mellan dem förutsätter att en administratör respekterar något som den aldrig har dokumenterat. Ägaren avgör också vem som får ändra filen: en profil per användare är ett användarval, en profil på maskinnivå är ett administrativt beslut, och en uppringningspost på en server är routingkonfiguration under sin egen ändringskontroll. Därmed är ett ägarfel ett behörighetsproblem innan det blir ett formatproblem.

Bestäm ägaren genom att titta på komponenten som hanterar anslutningen, inte på filen själv. En fil är en artefakt; den hanterande komponenten avgör vilka nycklar den läser och när. Att läsa artefakten först och administratören sedan är vägen där människor till slut redigerar ett fält som ingenting frågar om.

Där det publicerade formatet slutar beskriva din fil

I RRAS-administrationsprotokollet är telefonboken ren text som en administrationsklient skriver och routingtjänsten läser, därför beskriver MS-RRASM-specifikationen uppringningsinställningar för en server och inte för en skrivbordsprofil. Struktur är den del som en platt läsning förstör. En post kan rymma flera medieblock, var och en med enhetsblock som i sin tur rymmer block för enskilda nummer. Därför kan samma nyckel förekomma på mer än en plats med olika betydelse.

Läs en nyckel tillsammans med dess avsnitt och versionsanteckningar, och översätt inte ett värde från en likadant namngiven kryssruta i ett skrivbordsgränssnitt. Att hitta bekanta nycklar i dokumentet bevisar inte att det täcker varje fält i en orelaterad inbyggd profil. Avsnittsreglerna är inte heller tillstånd att skriva om en skrivbordstelefonbok i serverns format.

OwnerWhat reads the fileWhat a key means there
Per-user native connectionThe user's own connection managerA property of that user profile
All-user native connectionThe machine-wide connection storeA property shared by everyone on the host
RRAS demand-dialThe RRAS service, using the documented hierarchyA field inside a media, device or number section
Third-party clientThat vendor's own parserWhatever that vendor documents, if anything

Tabellen är en läshjälp och inte en specifikation: den säger vilken läsare du ska fråga, och läsaren säger vad fältet betyder. När den läsaren är en tredjepartstolkare kan det ärliga svaret vara att ingenting offentligt dokumenterar fältet över huvud taget.

Fråga Windows, inte filen

För en inbyggd anslutning, fråga Windows om profilen i stället för att läsa filen, eftersom de typade egenskaperna är den dokumenterade ytan och det enda som en stödd ändring ändrar. De två kommandona nedan läser de två inbyggda lagren var för sig. Om profilen inte finns i något av de två lagren använder klienten som hanterar den inte den inbyggda mekanismen, och ingen inbyggd cmdlet kommer att beskriva den.

Get-VpnConnection -Name 'Field Ops'
Get-VpnConnection -AllUserConnection | Select-Object Name, ServerAddress, TunnelType

För utrullning och inte inspektion är den dokumenterade vägen en hanterad profilinställning med ett namngivet schema, inte en numerisk redigering inuti en text- eller binärblob. En profiledefinition beskriver stödda inställningar; den levererar inte de certifikat och privata nycklar som profilen är beroende av. Registrering är en separat process med egen behörighet, och förståelse för en telefonboksnyckel har aldrig distribuerat en privat nyckel. Planera de två spåren separat, annars blir den första certifikatutrullningen den andra incidenten.

En egenskap, sedan livscykeln runt den

Ett sparat värde är inte ett tillämpat värde. Efter en godkänd ändring, öppna en ny anslutning och kontrollera de rutter som profilen installerar, den resolverpolicy den ärver och den åtgärd den skulle möjliggöra. Att återanvända en session som redan var uppe testar de gamla inställningarna och ger ett falskt negativt resultat.

Kopiera filen åt sidan innan något arbete på råfilen, eftersom en telefonbok med flera poster är en delad artefakt och en riktad redigering som skriver om hela filen har större radie än ändringen. Håll orelaterade poster intakta och behåll den ursprungliga skyddade konfigurationen tills den nya har verifierats. Om ett obligatoriskt fält inte är dokumenterat för den ägare och version du faktiskt har, notera det som en öppen supportfråga. Att hitta på en kodning från en annan maskins fil är sättet en fungerande profil blir ett felsökningsprojekt utan någon referenspunkt.

Disciplinen är densamma vid varje steg: namnge ägaren, namnge avsnittet och namnge sedan den stödda åtgärden. Allt annat är en gissning med en källhänvisning fastsatt på.

Relaterade artiklar