Zakres profilu VPN w Windows: bieżący użytkownik czy wszyscy użytkownicy?
Zakres decyduje, gdzie jest przechowywany natywny profil VPN w Windows i kto może go zobaczyć. Nie czyni połączenia tunelem urządzenia ani nie udostępnia poświadczeń.
Uruchamiasz polecenie wobec profilu VPN, nie zwraca ono błędu, a połączenie uruchamiane przez użytkownika zachowuje się dokładnie jak wcześniej. Nic nie jest zepsute. Windows przechowuje natywne profile VPN w dwóch magazynach, a ty edytowałeś ten, który nie jest używany. Ta sama wyświetlana nazwa może istnieć w obu, i dlatego skrypt wydaje się działać, podczas gdy połączenie użytkownika ignoruje każdą wprowadzoną zmianę.
Rozwiązaniem nie jest lepszy skrypt; rozwiązaniem jest nazwanie zakresu, zanim nazwiesz profil.
Objaw i dwa magazyny
Windows przechowuje natywne profile VPN w książce telefonicznej dla każdego użytkownika oraz w książce na poziomie komputera dla wszystkich użytkowników. Get-VpnConnection odczytuje magazyn bieżącego użytkownika, a Get-VpnConnection -AllUserConnection odczytuje ten komputerowy.
Profil utworzony z -AllUserConnection pojawia się dla każdego konta na komputerze i wymaga sesji z podniesionymi uprawnieniami, aby go utworzyć lub usunąć. Profil utworzony bez tego należy do konta, które uruchomiło polecenie, a inny użytkownik logujący się nie widzi niczego. Oba mogą mieć tę samą nazwę i żaden nie ostrzega, że istnieje drugi. Dlatego objaw wygląda jak cicha awaria, a nie komunikat o błędzie.
Co zakres naprawdę rozstrzyga
Zakres odpowiada na dwa pytania i odmawia odpowiedzi na trzecie:
| Question | Current user | All users |
|---|---|---|
| Who can see the profile | The account that created it | Every account on the machine |
| Elevation to create or remove | Not required | Required |
| Where the profile lives | Per-user phone book | Machine-wide phone book |
| Does it authenticate a device | No | No |
| Does it start before sign-in | No | No, that needs a device tunnel |
To właśnie ostatnie dwa wiersze ludzie rozumieją źle. Profil dla wszystkich użytkowników to magazyn o zasięgu komputera, a nie tożsamość komputera, i sam z siebie nie udostępnia połączenia, zanim ktoś się zaloguje. Tunel urządzenia Always On w Windows to osobna konfiguracja z własnymi wymaganiami dotyczącymi certyfikatu i profilu. Zakres dotyczy tego, kto może zobaczyć profil, a nie tego, czym jest komputer.
Widoczność nie jest uwierzytelnianiem
Profil dla wszystkich użytkowników nadal wymaga obsługiwanego układu tożsamości i poświadczeń. Udostępnienie profilu każdemu kontu nie czyni każdego konta tym samym uwierzytelnionym użytkownikiem i nie łączy poświadczeń.
Jeśli projekt wymaga, aby tunel był podniesiony przed zalogowaniem, odpowiedzią jest tunel urządzenia, a nie szerszy zakres profilu. Jeśli projekt wymaga, aby każda osoba przedstawiła własny certyfikat, profil na użytkownika lepiej pasuje do tego modelu, ponieważ profil o zasięgu komputera nie może przedstawić poświadczeń należących do kogoś innego.
Wdrażanie i własność zasad
Na zarządzanych komputerach EMM lub profil konfiguracji może odtworzyć zapisany stan po twojej zmianie.
To nie błąd w twoim skrypcie; to dwóch właścicieli piszących do tego samego magazynu. Uzgodnij zakres z właścicielem zasady i wolij zmienić zasadę niż uruchamiać polecenie ponownie według harmonogramu. Lokalna poprawka konkurująca z zasadą daje komputer, na którym profil wygląda poprawnie do następnej synchronizacji.
Co zapisać, gdy się zepsuje
Zapisuj trzy rzeczy razem: nazwę profilu, docelowy zakres i rzeczywisty błąd połączenia.
Trasa lub certyfikat zastosowany do profilu w drugim magazynie nie naprawi tego, który uruchamia użytkownik, a tekst błędu będzie nadal wskazywał połączenie, a nie twoją edycję. Po zatwierdzonej zmianie połącz się ponownie przez zamierzony punkt wejścia i sprawdź zarówno zastosowane trasowanie, jak i zapisane ustawienia. Magazyn profili odpowiada, co jest dostępne, a aktywne połączenie odpowiada, co robi urządzenie teraz.
Dokumentacja Microsoftu dla Add-VpnConnection wymienia przełącznik zakresu obok parametrów, które zmienia, co jest użytecznym przypomnieniem, że zakres jest decyzją podejmowaną przy tworzeniu, a nie ustawieniem, które przełączasz później.