Os resultados de pesquisa entregam-lhe um arquivo .pbk, os nomes das chaves parecem familiares e o passo óbvio é tratá-lo como um esquema portátil para qualquer VPN do Windows. Não é. O formato pertence a um proprietário, e a mesma chave significa coisas diferentes conforme qual proprietário a escreveu. Ler primeiro o escopo é o que impede um exercício de documentação de se tornar uma edição não suportada.

Quatro proprietários, quatro leitores diferentes

Quatro proprietários diferentes escrevem arquivos que se parecem. Uma conexão nativa por usuário termina no livro de telefones do usuário atual, enquanto uma conexão para todos os usuários termina num armazenamento de âmbito de máquina que qualquer conta no host pode ler. Um servidor RRAS mantém a configuração de discagem sob demanda para sua própria função de roteamento, e um cliente de terceiros pode manter um formato próprio que apenas compartilha a extensão. Mesma extensão, quatro leitores, quatro conjuntos de regras.

Um nome de exibição coincidente não torna duas dessas entradas a mesma, e copiar uma chave entre elas pressupõe que um administrador respeitará algo que nunca documentou. O proprietário também decide quem pode alterar o arquivo: um perfil por usuário é uma escolha do usuário, um perfil de âmbito de máquina é uma decisão administrativa, e uma entrada de discagem sob demanda num servidor é configuração de roteamento sob seu próprio controle de mudanças. Isso faz de um erro de propriedade um problema de permissões antes de se tornar um problema de formato.

Determine o proprietário olhando para o componente que gerencia a conexão, não para o arquivo em si. Um arquivo é um artefato; o componente gerenciador define quais chaves ele lê e quando. Ler primeiro o artefato e depois o gerenciador é como as pessoas acabam editando um campo que nada consulta.

Onde o formato publicado deixa de descrever o seu arquivo

No protocolo de gerenciamento RRAS o livro de telefones é texto simples que um cliente de gerenciamento escreve e o serviço de roteamento lê, por isso especificação MS-RRASM descreve configurações de discagem sob demanda para um servidor e não para um perfil de desktop. A estrutura é a parte que uma leitura plana destrói. Uma entrada pode conter vários blocos de mídia, cada um com blocos de dispositivo que por sua vez contêm blocos para números individuais. Por isso a mesma chave pode aparecer em mais de um lugar com um significado diferente.

Leia uma chave junto com sua seção e suas notas de versão, e não traduza um valor de uma caixa com nome semelhante numa interface de desktop. Encontrar chaves familiares no documento não prova que ele cubra todos os campos de um perfil nativo não relacionado. As regras de seção também não são permissão para reescrever um livro de telefones de desktop no formato do servidor.

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

A tabela é uma ajuda de leitura, não uma especificação: ela diz qual leitor consultar, e o leitor diz o que o campo significa. Quando esse leitor é um analisador de terceiros, a resposta honesta pode ser que nada público documenta o campo.

Pergunte ao Windows, não ao arquivo

Para uma conexão nativa, pergunte ao Windows pelo perfil em vez de ler o arquivo, porque as propriedades tipadas são a superfície documentada e a única coisa que uma mudança suportada modifica. Os dois comandos abaixo leem os dois armazenamentos nativos separadamente. Se o perfil não estiver em nenhum dos dois armazenamentos, o cliente que o gerencia não usa o mecanismo nativo e nenhum cmdlet nativo o descreverá.

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

Para implantação e não para inspeção, o caminho documentado é uma configuração de perfil gerenciada com um esquema nomeado, não uma edição numérica dentro de um blob de texto ou binário. Uma definição de perfil descreve configurações suportadas; ela não fornece os certificados e as chaves privadas dos quais o perfil depende. O registro é um processo separado com sua própria autoridade, e entender uma chave do livro de telefones nunca distribuiu uma chave privada. Planeje as duas trilhas separadamente, ou a primeira implantação de certificados se tornará o segundo incidente.

Uma propriedade e depois o ciclo de vida ao seu redor

Um valor salvo não é um valor aplicado. Após uma mudança aprovada, abra uma conexão nova e verifique as rotas que o perfil instala, a política de resolução que ele herda e a operação que ele deveria habilitar. Reutilizar uma sessão que já estava ativa testa as configurações antigas e produz um falso negativo.

Copie o arquivo para o lado antes de qualquer trabalho no arquivo bruto, porque um livro de telefones com várias entradas é um artefato compartilhado e uma edição direcionada que reescreve todo o arquivo tem um raio de impacto maior do que a mudança. Mantenha intactas as entradas não relacionadas e preserve a configuração protegida original até que a nova seja verificada. Se um campo obrigatório não estiver documentado para o proprietário e a versão que você realmente tem, registre isso como uma pergunta de suporte em aberto. Inventar uma codificação a partir do arquivo de outra máquina é como um perfil funcional se torna um projeto de depuração sem nenhum ponto de referência.

A disciplina é a mesma em cada passo: nomeie o proprietário, nomeie a seção e depois nomeie a operação suportada. Qualquer outra coisa é um palpite com uma citação grampeada.

Artigos relacionados