I risultati di ricerca ti consegnano un file .pbk, i nomi delle chiavi sembrano familiari e il passo ovvio è trattarlo come uno schema portatile per qualsiasi VPN di Windows. Non lo è. Il formato appartiene a un proprietario, e la stessa chiave significa cose diverse a seconda di quale proprietario l’ha scritta. Leggere prima l’ambito è ciò che impedisce a un esercizio di documentazione di diventare una modifica non supportata.

Quattro proprietari, quattro lettori diversi

Quattro proprietari diversi scrivono file che si somigliano. Una connessione nativa per utente finisce nella rubrica dell’utente corrente, mentre una connessione per tutti gli utenti finisce in un archivio a livello di macchina che ogni account sull’host può leggere. Un server RRAS conserva la configurazione di chiamata su richiesta per il proprio ruolo di routing, e un client di terze parti può conservare un formato proprio che condivide solo l’estensione. Stessa estensione, quattro lettori, quattro insiemi di regole.

Un nome visualizzato corrispondente non rende due di quelle voci la stessa voce, e copiare una chiave tra loro presuppone che un gestore rispetti qualcosa che non ha mai documentato. Il proprietario decide anche chi può modificare il file: un profilo per utente è una scelta dell’utente, un profilo a livello di macchina è una decisione amministrativa, e una voce di chiamata su richiesta su un server è configurazione di routing sotto il proprio controllo delle modifiche. Questo rende un errore di proprietà un problema di autorizzazioni prima che diventi un problema di formato.

Determina il proprietario guardando il componente che gestisce la connessione, non il file stesso. Un file è un artefatto; il componente gestore definisce quali chiavi legge e quando. Leggere prima l’artefatto e poi il gestore è il modo in cui le persone finiscono per modificare un campo che nulla interroga.

Dove il formato pubblicato smette di descrivere il tuo file

Nel protocollo di gestione RRAS la rubrica è testo semplice che un client di gestione scrive e il servizio di routing legge, perciò specifica MS-RRASM descrive impostazioni di chiamata su richiesta per un server e non per un profilo desktop. La struttura è la parte che una lettura piatta distrugge. Una voce può contenere più blocchi di media, ciascuno con blocchi di dispositivo che a loro volta contengono blocchi per numeri individuali. La stessa chiave può quindi comparire in più di un punto con un significato diverso.

Leggi una chiave insieme alla sua sezione e alle sue note di versione, e non tradurre un valore da una casella con nome simile in un’interfaccia desktop. Trovare chiavi familiari nel documento non dimostra che copra ogni campo di un profilo nativo non correlato. Le regole di sezione non sono nemmeno un permesso per riscrivere una rubrica desktop nel formato del server.

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

La tabella è un aiuto alla lettura, non una specifica: dice quale lettore consultare, e il lettore dice che cosa significa il campo. Quando quel lettore è un analizzatore di terze parti, la risposta onesta può essere che nulla di pubblico documenta affatto il campo.

Chiedi a Windows, non al file

Per una connessione nativa, chiedi il profilo a Windows invece di leggere il file, perché le proprietà tipizzate sono la superficie documentata e l’unica cosa che una modifica supportata modifica. I due comandi sotto leggono due archivi nativi separatamente. Se il profilo non è in nessuno dei due archivi, il client che lo gestisce non usa il meccanismo nativo e nessun cmdlet nativo lo descriverà.

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

Per la distribuzione e non per l’ispezione, la via documentata è un’impostazione di profilo gestita con uno schema denominato, non una modifica numerica dentro un blob di testo o binario. Una definizione di profilo descrive le impostazioni supportate; non fornisce i certificati e le chiavi private da cui il profilo dipende. L’iscrizione è un processo separato con la propria autorità, e capire una chiave di rubrica non ha mai distribuito una chiave privata. Pianifica le due vie separatamente, altrimenti la prima distribuzione dei certificati diventerà il secondo incidente.

Una proprietà, poi il ciclo di vita attorno a essa

Un valore salvato non è un valore applicato. Dopo una modifica approvata, apri una nuova connessione e controlla le rotte che il profilo installa, la politica di risoluzione che eredita e l’operazione che doveva abilitare. Riusare una sessione già attiva prova le vecchie impostazioni e produce un falso negativo.

Copia il file da parte prima di qualsiasi lavoro sul file grezzo, perché una rubrica con più voci è un artefatto condiviso e una modifica mirata che riscrive tutto il file ha un raggio d’impatto maggiore della modifica. Mantieni intatte le voci non correlate e conserva la configurazione protetta originale finché la nuova non è stata verificata. Se un campo obbligatorio non è documentato per il proprietario e la versione che hai davvero, annotalo come domanda di supporto aperta. Inventare una codifica dal file di un’altra macchina è il modo in cui un profilo funzionante diventa un progetto di debug senza alcun punto di riferimento.

La disciplina è la stessa a ogni passo: nomina il proprietario, nomina la sezione, poi nomina l’operazione supportata. Qualunque altra cosa è una supposizione con una citazione appuntata sopra.

Articoli correlati