Fel 623 från rasdial är ett uppslagsfel och inte ett nätverksfel: telefonboken innehåller ingen post med det namnet. Windows förväntar sig att profilen finns innan något kommando ringer upp den, och uppringningsprogrammet skapar aldrig någon själv. Gå igenom kontrollerna nedan i ordning, eftersom var och en förutsätter att den föregående gick igenom.

Läs felkoden före allt annat

Koderna efter 623 beskriver andra fel, så den första texten du ser avgör grenen. 691 är en avvisning av inloggningsuppgifter mot en profil som faktiskt finns, och 868 pekar vanligtvis på namnuppslagning för serveradressen. Bara 623 skickar tillbaka dig till skapandet, och därför ändrar upprepning av samma kommando sällan något.

Fånga slutstatusen i samma steg som ringer upp. Nästa kommando i ett skript skriver över den, och den riktiga koden är borta när någon läser loggen.

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

Bekräfta att telefonboksposten finns

Fråga Windows vilka profiler det faktiskt har innan du lägger till en till. Kommandot returnerar namnet, serveradressen och aktuell anslutningsstatus, och ett tomt resultat avgör frågan direkt.

Windows lagrar poster per användare i en telefonboksfil och poster för alla användare i en annan, så ett namn kan peka på två olika servrar. Den dubbleringen förklarar ett skript som ringer upp fel slutpunkt medan inställningarna du granskade ser helt korrekta ut. Lista båda platserna innan du drar någon slutsats om namnet.

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

Skapa profilen med Add-VpnConnection

Skapa posten en gång med kommandot som skriver en inhemsk profil, inte med en textredigering. Ange serveradressen, tunneltypen och den autentiseringsmetod som din gateway faktiskt accepterar, eftersom en profil som förhandlar om fel protokoll senare misslyckas med ett meddelande som skyller på servern.

Du kan fortfarande klistra in ett anslutningsavsnitt i rasphone.pbk för hand, men ingenting validerar den redigeringen. En felaktig nyckel ger en profil som inte autentiserar mot något, och felet den producerar ser ut som ett fjärrfel snarare än ett skrivfel.

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

Stäm av sessionen mot lagret för inloggningsuppgifter

En post tillhör en användare eller maskinen, och certifikatet eller de sparade inloggningsuppgifterna bakom den är kanske bara åtkomliga från en enda inloggningssession. En schemalagd uppgift som körs som SYSTEM är en annan klient än kontot som loggade in, och en tjänst i session 0 har inget skrivbord att visa en uppmaning på. Första gången en interaktiv session möter ett okänt nätverk öppnar Windows sin uppmaning om nätverksplats, och uppringningsprogrammet erbjuder ingen brytare för att tysta den. Sessionsisolering undviker den uppmaningen och tar samtidigt bort den användarkontext som vissa autentiseringsmetoder kräver.

Välj ägaren medvetet: en inloggningsutlöst uppgift för en tunnel per användare, eller en tjänst för en tunnel för hela maskinen. Att blanda de två och förvänta sig samma beteende är hur en anslutning som fungerar för hand börjar misslyckas under automatisering.

Låt den automatiska utlösaren vara som du fann den

Windows kan resa en tunnel själv när ett program eller ett nätverksvillkor matchar, och en frånkoppling kan lägga till profilen i listan över inaktiverade poster för automatisk utlösning. Nästa automatiska försök sker då aldrig, långt efter att skriptet som ansvarar har avslutats. En uppgift som kopplar från ovillkorligt förstör därför alltid-på-beteendet för alla andra användare av den maskinen. Den bieffekten är osynlig i uppgiftsloggen, och det är det som gör den dyr.

Notera profilstatusen innan uppgiften körs och sätt tillbaka den som du fann den i stället för att riva tunneln som standard. Att återaktivera utlösaren är en policyändring, så behandla det som ett medvetet steg och inte som städning.

Två gränser överlever varje mängd skriptning. rasdial kan rapportera framgång medan tjänsten bakom tunneln fortfarande är oåtkomlig, så testa resursen du faktiskt behöver. En profil som kräver ett smartkort, ett push-godkännande eller en webbläsarinloggning har ingen obemannad väg, och en mänsklig ägare förblir en del av designen.

Relaterade artiklar