La nuova VPN è comparsa, l'autenticazione funzionava, e una VPN di terze parti che viveva sulla macchina da due anni è sparita nello stesso riavvio. Nulla nel registro della distribuzione la menzionava, perché nulla nella distribuzione se ne occupava. Il pacchetto aveva sostituito la rubrica telefonica globale, e l'altra connessione era una voce di quel file. Questa è un'operazione di copia che si comporta esattamente come deve comportarsi un'operazione di copia.

La correzione non è una copia migliore. È non copiare il file.

Che cosa contiene davvero la rubrica telefonica

Una rubrica telefonica è un contenitore di definizioni di connessione, non un profilo. Le voci per utente vivono sotto il profilo dell'utente, e le voci per tutti gli utenti vivono sotto il percorso ProgramData a livello di macchina, ed è per questo che una distribuzione che scrive quel file tocca ogni utente locale in una volta. Lo stesso file porta anche voci create da altri fornitori, ed è da lì che viene il danno collaterale.

Anche una definizione di connessione non è tutta la storia. Rotte, criteri DNS, materiale CA attendibile e identità sono forniti da proprietari separati.

Stabilite quale ambito possiede il profilo

Elencate entrambi gli ambiti prima di scrivere qualcosa. Get-VpnConnection restituisce le voci dell'utente corrente e Get-VpnConnection -AllUserConnection restituisce quelle a livello di macchina, e lo stesso nome può esistere in entrambi con impostazioni diverse. Decidete quale ambito possiede la vostra distribuzione e scrivetelo, perché aggiornare l'ambito sbagliato lascia l'utente a connettersi con il vecchio profilo mentre la vostra modifica resta in un file che nessuno legge. Un'attività pianificata eseguita come SYSTEM vede anch'essa un insieme di profili diverso da quello dell'utente connesso.

Dare un nome al proprietario è il passo che impedisce all'ingegnere successivo di ripetere la copia dell'intero file.

Create o aggiornate la connessione con nome, nient'altro

Per un profilo Windows nativo, Add-VpnConnection crea una voce, e -AllUserConnection sceglie l'ambito a livello di macchina. Eseguitelo prima con -WhatIf, così l'anteprima finisce nella vostra trascrizione e non in un reclamo dell'utente:

Add-VpnConnection -Name 'Office VPN' -ServerAddress 'vpn.example.com' -TunnelType Ikev2 -AuthenticationMethod Eap -EapConfigXmlStream $approvedEapXml -AllUserConnection -WhatIf

Il file XML EAP deve venire da un luogo legittimo: esportato da un profilo di riferimento funzionante, oppure generato dai vostri strumenti di gestione per il gateway reale. Senza le impostazioni corrette di attendibilità del server il profilo o si connette alla cosa sbagliata o fallisce ovunque, e nessuna delle due è una distribuzione riuscita.

Quando la voce esiste già, confrontatene le impostazioni e aggiornatela con Set-VpnConnection invece di eliminarla e ricrearla. Eliminare è il modo in cui una configurazione funzionante perde campi che nessuno ha documentato, e il modo in cui voci non correlate finiscono in una pulizia ampia.

Controllate se esiste un secondo sistema di gestione che rimetterà il vecchio profilo al prossimo aggiornamento dei criteri. I piloti falliscono qui più spesso che al cmdlet.

Provate su una macchina che ha già un'altra VPN

Scegliete una macchina di prova con una voce non correlata a livello di macchina, distribuite, poi verificate tre cose: il nuovo profilo compare nell'ambito previsto, l'autenticazione raggiunge una risorsa privata, e la voce non correlata si connette ancora. Distribuite altre due volte e confermate che la seconda esecuzione cambia solo il profilo che possiede. Quel terzo controllo intercetta un pacchetto idempotente per la propria voce e distruttivo per tutto il resto.

La rimozione segue la stessa regola: Remove-VpnConnection -Name 'Office VPN' -AllUserConnection ritira una voce e lascia in pace il resto del file.

Tenete disponibile la configurazione prevista precedente, così un ripristino circoscritto significa reimportare un profilo invece di ripristinare l'intero stato della macchina.

Articoli correlati