Bootstrap ou GPO: dois caminhos para um perfil VPN do Windows
Um perfil distribuído por GPO não pode ser a única forma de chegar à partilha que o distribui. Separe a primeira instalação da atualização de rotina e versione as duas em conjunto.
Distribua um perfil VPN a partir de uma partilha de domínio e tudo funciona, até ao portátil que não consegue chegar ao domínio. Nesse momento, a entrega depende da própria ligação que o perfil existe para criar. Quem tem esse portátil está num lugar que o help desk não vê. Trate a primeira instalação e a atualização de rotina como dois caminhos separados dentro de um único pacote, porque falham de formas que nada têm em comum.
A primeira instalação é um problema diferente
Contam dois acontecimentos, e só um deles ocorre enquanto a rede colabora. A tabela separa-os pelo que está disponível, pelo que desencadeia o trabalho e pela forma como costuma correr mal.
| First install | Routine update | |
|---|---|---|
| Network reachable | Something other than the VPN being installed | The domain or a management channel |
| Trigger | Enrollment, imaging, or a prepared package | A policy refresh or a management push |
| Usual failure | No route to the package at all | Duplicate profiles, or a change that silently does nothing |
Um artefacto revisto pode servir os dois caminhos; o pressuposto sobre a conetividade não pode ser partilhado. Um script de arranque esconde esse pressuposto enquanto corre numa secretária da rede da empresa, e expõe-no no terreno. O script não tem defeito, apenas lhe pedem que corra onde ninguém o projetou para correr.
O que o pacote tem de conter
Decida cinco coisas antes de empacotar: que mecanismo de perfil do Windows é suportado, se o âmbito é por utilizador ou por dispositivo, que certificados ou componentes de cliente são pré-requisitos, o que diz a definição do perfil e que ação a aplica. ProfileXML é a forma suportada de exprimir definições de VPN, entregue através do CSP VPNv2, e o guia de opções de perfil da Microsoft lista o que ele pode conter. Tudo o que fique fora dessa lista é uma decisão que está a tomar na hora.
Os parâmetros de um script auxiliar pertencem a esse script. Nomes como xmlFilePath ou AllUserConnection são escolhas de um autor e não uma norma que todos os instaladores respeitem; copiá-los para outro script dá um comando que parece certo e não faz nada.
Mantenha o script e a definição numa só versão e audite de onde vêm ambos, bem como as suas permissões. Um script de arranque privilegiado que por acaso é legível a partir de SYSVOL continua a não ter sido revisto, e distribuir por política não é uma revisão.
Obter a primeira ligação
A primeira instalação acontece enquanto o dispositivo ainda pode ser alcançado de outra forma: uma rede aprovada, um canal de gestão existente ou um fluxo de inscrição concebido para isso. Os certificados e os pré-requisitos de confiança do método de autenticação escolhido pertencem a esse mesmo pacote, porque nada pode ser obtido através de um túnel que ainda não existe. Pergunte qual desses três canais é real para este utilizador antes de alguém prometer uma data. Um canal que só existe no papel transforma-se num telefonema do terreno.
Escreva o que o técnico ou o utilizador faz realmente nesse momento. Se a resposta for que a TI se liga remotamente para ajudar, então o caminho de primeira instalação depende em silêncio de uma segunda ferramenta de acesso remoto que alguém também tem de aprovisionar e suportar.
As atualizações precisam de um estado conhecido
Quando a máquina chega ao domínio, o processo normal de domínio ou de gestão de dispositivos pode assumir o controlo. É no âmbito que os erros se infiltram, porque um script de arranque corre no contexto da máquina, enquanto uma ação de início de sessão do utilizador e uma ação de gestão de dispositivos podem diferir tanto em âmbito como em permissões.
Uma entrada de ligação para todos os utilizadores não é um túnel de dispositivo antes do início de sessão, digam o que disserem os nomes. Os túneis de dispositivo trazem os seus próprios requisitos de plataforma, protocolo e credenciais, e ler esses requisitos é a única forma de saber se aqui é possível um túnel antes do início de sessão. Um túnel de utilizador que arranca no início de sessão oferece uma garantia diferente.
Torne o caminho de atualização repetível: encontrar o perfil já gerido, manter as preferências de utilizador pretendidas, aplicar uma definição compatível e comunicar um resultado claro. Criar um perfil novo a cada atualização de política é como uma máquina acaba com cinco entradas e um utilizador que escolhe a errada.
O registo que o mantém suportável
Três respostas pertencem à entrega: como um dispositivo recém-emitido obtém a primeira ligação, quem pode alterar o pacote e como um administrador desfaz uma alteração incompatível. Com isto escrito, a implementação deixa de depender de alguém que já detém o acesso a aprovisionar.
Guarde esse registo ao lado da versão do pacote e atualize ambos na mesma alteração. Caso contrário, a pessoa seguinte reconstrói o caminho de bootstrap a partir de um ticket fechado há um ano.