Varför Get-VpnConnection missar vissa Windows VPN-profiler
Get-VpnConnection svarar på en snävare fråga än namnet antyder: ett inbyggt lager, en omfattning i taget och ingen insyn i VPN-klienter från tredje part.
Skriv Get-VpnConnection, få ingenting tillbaka, och utredningen stannar oftast där. Den tomma utdatan läses som bevis på att maskinen inte har någon VPN alls, även när en tunnel bär trafik. Kommandot är korrekt; antagandet om vad det inventerar är det inte. Det läser ett inbyggt lager i en omfattning, och det vet ingenting om klienter som håller egna profiler.
Ett inbyggt lager per anrop
Börja med det nakna anropet, som riktar sig mot profilerna som tillhör det inloggade kontot. Det är anropet de flesta kör först:
Get-VpnConnection
Varje returnerat objekt bär Name, ServerAddress, TunnelType och ConnectionStatus, och dessa fyra fält räcker för att skilja två poster i ett ärende. En profil kan stå frånkopplad i månader och ändå finnas kvar i listan, eftersom objektet beskriver sparad konfiguration och inte levande trafik. Ett tomt resultat här betyder att lagret per användare inte hade något för det kontot. Det är ett mycket mindre påstående än det folk vanligen läser in i det.
Telefonboken för alla användare behöver sin egen fråga
Profiler som betjänar varje konto ligger i en separat lista, och standardanropet läser den aldrig. Du begär det lagret uttryckligen:
Get-VpnConnection -AllUserConnection
När sessionen saknar rättigheterna, förvänta dig ett åtkomstnekad-fel i stället för ett tomt resultat, och behandla de två utfallen olika: det ena betyder att du inte får titta, det andra att ingenting är sparat. Anteckna omfattningen vid varje namn medan utdatan är framför dig, för ett senare kommando påminner dig inte om vilket lager det frågade. Behörigheter är den vanliga orsaken till att en kollega ser en profil du inte kan. Parameterseterna är dokumenterade på referenssidan för Get-VpnConnection, inklusive vilka växlar som hör till vilket set.
Samma namn, två olika lager
Ett profilnamn är unikt inom sitt lager, inte på hela maskinen, så listorna per användare och för alla användare kan var och en ha en profil som heter Office. De två posterna kan peka på olika servrar, använda olika tunneltyper och bära olika autentiseringsuppgifter. Bara en av dem är posten användaren dubbelklickar på. Anteckna omfattningen innan du rör någon av dem.
Att radera kopian ingen startar ser harmlöst ut i ett ändringsfönster. Det blir ett supportsamtal när användarens genväg slutar fungera.
Klienter som aldrig rör den inbyggda listan
En OpenVPN- eller WireGuard-profil importerad i en leverantörsklient ligger i den klientens egen konfiguration, så den blir aldrig en inbyggd Windows-post. Klienten kör sin egen tjänst, håller sin egen lista och skickar trafik genom sin egen adapter. Inget av detta är vad kommandot rapporterar, och ingen omfattningsväxel får den att dyka upp. En maskin kan ha tre fungerande tunnlar och en tom inbyggd lista.
När du i stället behöver adaptervyn, fråga adaptrarna. Leverantörsgränssnitten namnger sig själva, så matcha ett fragment och inte en exakt sträng:
Get-NetAdapter | Where-Object InterfaceDescription -match 'WireGuard|OpenVPN|TAP'
Inbyggda profiler som skapats för hand hamnar i telefonbokfilen under användarprofilen, och motsvarigheterna för alla användare sitter i kopian för hela maskinen. Det är därför kopiering av en användares profillager till ett annat konto sällan återger samma lista. Filen förklarar var en bortkommen inbyggd anslutning kom ifrån. Om lagret för en leverantörsklient säger den ingenting.
Vad som ska fångas innan en profil tas bort
Den billiga försäkringen är en anteckning med fem fält: namn, omfattning, serveradress, status och den exakta feltexten från användarens försök. Lägg till klienten de faktiskt startar, för den detaljen avgör om den inbyggda posten betyder något alls. Utan den ser en korrekt borttagning fortfarande ut som orsaken till nästa fel. Förvara anteckningen i ärendet och inte i ett chattfönster.
Borttagning är ett kommando, och det raderar konfiguration i stället för att inaktivera den. Kör det först när den anteckningen finns:
Remove-VpnConnection -Name "Office" -Force
Lägg till -AllUserConnection när målet sitter i lagret för alla användare, och förvara den godkända konfigurationskällan någon annanstans först. Anslut sedan en gång igen och läs routingtabellen, eftersom en lista bara bevisar att konfigurationen är sparad. Om trafiken når servern är en separat fråga som ingen mängd Get-VpnConnection-utdata kan svara på. Om användaren fortfarande misslyckas efter ett rent nytt tillägg var profilen aldrig problemet.