L’errore 623 di rasdial è un errore di ricerca e non un guasto di rete: la rubrica telefonica non contiene alcuna voce con quel nome. Windows si aspetta che il profilo esista prima che qualsiasi comando lo componga, e il compositore non ne crea mai uno da solo. Seguite i controlli qui sotto in ordine, perché ciascuno presuppone che il precedente sia andato a buon fine.

Leggete il codice di errore prima di tutto il resto

I codici che seguono il 623 descrivono altri guasti, quindi il primo testo che vedete decide il ramo. Un 691 è un rifiuto delle credenziali per un profilo che esiste davvero, e un 868 di solito punta alla risoluzione dei nomi per l’indirizzo del server. Solo il 623 vi riporta alla creazione, ed è per questo che ripetere lo stesso comando raramente cambia qualcosa.

Catturate lo stato di uscita nello stesso passaggio che compone. Il comando successivo di uno script lo sovrascrive, e il codice reale è già perso quando qualcuno legge il registro.

rasdial "Office"; if ($LASTEXITCODE -ne 0) { Write-Output "failed: $LASTEXITCODE" }

Confermate che la voce della rubrica esista

Chiedete a Windows quali profili possiede realmente prima di aggiungerne un altro. Il cmdlet restituisce il nome, l’indirizzo del server e lo stato attuale della connessione, e un risultato vuoto risolve subito la questione.

Windows conserva le voci per utente in un file della rubrica e quelle di tutti gli utenti in un altro, quindi un nome può puntare a due server diversi. Questa duplicazione spiega uno script che compone l’endpoint sbagliato mentre le impostazioni che avete ispezionato sembrano perfettamente corrette. Elencate entrambe le posizioni prima di concludere qualcosa sul nome.

Get-VpnConnection -Name "Office" | Format-List Name, ServerAddress, ConnectionStatus
dir "%APPDATA%\Microsoft\Network\Connections\Pbk"
dir "%PROGRAMDATA%\Microsoft\Network\Connections\Pbk"

Create il profilo con Add-VpnConnection

Create la voce una volta con il cmdlet che scrive un profilo nativo, non con una modifica testuale. Indicate l’indirizzo del server, il tipo di tunnel e il metodo di autenticazione che il vostro gateway accetta davvero, perché un profilo che negozia il protocollo sbagliato fallisce più tardi con un messaggio che incolpa il server.

Potete ancora incollare a mano una sezione di connessione in rasphone.pbk, ma nulla valida quella modifica. Una chiave sbagliata produce un profilo che non si autentica contro nulla, e l’errore che genera sembra un guasto remoto invece di un refuso.

Add-VpnConnection -Name "Office" -ServerAddress vpn.corp.internal \
  -TunnelType Ikev2 -AuthenticationMethod Eap -EncryptionLevel Required

Allineate la sessione all’archivio delle credenziali

Una voce appartiene a un utente o alla macchina, e il certificato o la credenziale salvata dietro di essa potrebbe essere raggiungibile solo da una sessione di accesso. Un’attività pianificata che viene eseguita come SYSTEM è un client diverso dall’account che ha effettuato l’accesso, e un servizio nella sessione 0 non ha alcun desktop su cui mostrare un prompt. La prima volta che una sessione interattiva incontra una rete sconosciuta, Windows apre il prompt della posizione di rete, e il compositore non offre alcun interruttore per metterlo a tacere. L’isolamento della sessione evita quel prompt e rimuove al tempo stesso il contesto utente che alcuni metodi di autenticazione richiedono.

Scegliete il proprietario deliberatamente: un’attività attivata all’accesso per un tunnel per utente, oppure un servizio per un tunnel dell’intera macchina. Mescolare le due cose e aspettarsi lo stesso comportamento è il motivo per cui una connessione che funziona a mano inizia a fallire sotto automazione.

Lasciate l’attivazione automatica come l’avete trovata

Windows può sollevare un tunnel da solo quando un’applicazione o una condizione di rete corrisponde, e una disconnessione può aggiungere il profilo all’elenco delle voci di attivazione automatica disabilitate. Il tentativo automatico successivo allora non avviene mai, molto tempo dopo che lo script responsabile è terminato. Un’attività che disconnette senza condizioni rompe quindi il comportamento sempre attivo per ogni altro utente di quella macchina. Questo effetto collaterale è invisibile nel registro dell’attività, ed è ciò che lo rende costoso.

Annotate lo stato del profilo prima che l’attività venga eseguita e ripristinatelo come l’avete trovato invece di abbattere il tunnel per impostazione predefinita. Riattivare l’attivazione è un cambio di criteri, quindi trattatelo come un passo deliberato e non come pulizia.

Due limiti sopravvivono a qualsiasi quantità di script. rasdial può segnalare successo mentre il servizio dietro il tunnel è ancora irraggiungibile, quindi provate la risorsa che vi serve davvero. Un profilo che richiede una smart card, un’approvazione push o un accesso tramite browser non ha alcun percorso senza sorveglianza, e un proprietario umano resta parte della progettazione.

Articoli correlati