Bootstrap czy GPO: dwie ścieżki do profilu VPN w Windows
Profil wdrażany przez GPO nie może być jedyną drogą do udziału, który go wdraża. Oddziel pierwszą instalację od rutynowej aktualizacji i wersjonuj obie razem.
Wypchnij profil VPN z udziału domenowego i wszystko działa – aż do laptopa, który nie może dosięgnąć domeny. Wtedy dostarczenie zależy od dokładnie tego połączenia, którego profil ma być źródłem. Osoba z tym laptopem jest gdzieś, gdzie help desk nie widzi. Traktuj pierwszą instalację i rutynową aktualizację jako dwie osobne ścieżki przez jeden pakiet, bo zawodzą w sposób, który nie ma ze sobą nic wspólnego.
Pierwsza instalacja to inny problem
Znaczenie mają dwa zdarzenia, a tylko jedno z nich dzieje się, gdy sieć współpracuje. Tabela rozdziela je według tego, co jest dostępne, co uruchamia pracę i jak zwykle się to psuje.
| First install | Routine update | |
|---|---|---|
| Network reachable | Something other than the VPN being installed | The domain or a management channel |
| Trigger | Enrollment, imaging, or a prepared package | A policy refresh or a management push |
| Usual failure | No route to the package at all | Duplicate profiles, or a change that silently does nothing |
Jeden przejrzany artefakt może obsłużyć obie ścieżki; założenia o łączności nie da się dzielić. Skrypt startowy ukrywa to założenie, dopóki działa na biurku w sieci firmowej, a w terenie je obnaża. Skrypt nie jest wadliwy, po prostu prosi się go o uruchomienie tam, gdzie nikt go nie zaprojektował.
Co musi zawierać pakiet
Przed pakowaniem zdecyduj o pięciu rzeczach: który mechanizm profilu Windows jest obsługiwany, czy zakres jest na użytkownika, czy na urządzenie, które certyfikaty lub komponenty klienta są warunkiem wstępnym, co mówi definicja profilu i która akcja ją stosuje. ProfileXML to obsługiwany sposób wyrażania ustawień VPN, dostarczany przez CSP VPNv2, a przewodnik Microsoftu po opcjach profilu wymienia, co może zawierać. Wszystko poza tą listą to decyzja podejmowana na bieżąco.
Parametry skryptu pomocniczego należą do tego skryptu. Nazwy takie jak xmlFilePath lub AllUserConnection to wybór jednego autora, a nie standard, który respektuje każdy instalator; skopiowanie ich do innego skryptu daje polecenie, które wygląda dobrze i nic nie robi.
Trzymaj skrypt i definicję pod jedną wersją i sprawdź, skąd oba pochodzą, wraz z ich uprawnieniami. Uprzywilejowany skrypt startowy, który przypadkiem jest czytelny z SYSVOL, nadal nie został przejrzany, a dystrybucja przez zasady nie jest przeglądem.
Jak zdobyć pierwsze połączenie
Pierwsza instalacja odbywa się, gdy urządzenie jest jeszcze osiągalne w inny sposób: przez zatwierdzoną sieć, istniejący kanał zarządzania albo proces rejestracji zaprojektowany właśnie do tego. Certyfikaty i wymagania zaufania dla wybranej metody uwierzytelniania należą do tego samego pakietu, bo tunelem, którego jeszcze nie ma, niczego nie da się pobrać. Zanim ktoś obieca termin, zapytaj, który z tych trzech kanałów jest dla tego użytkownika realny. Kanał istniejący tylko na papierze zamienia się w telefon z terenu.
Zapisz, co technik lub użytkownik naprawdę robi w tym momencie. Jeśli odpowiedź brzmi, że IT łączy się zdalnie, aby pomóc, to ścieżka pierwszej instalacji po cichu zależy od drugiego narzędzia dostępu zdalnego, które ktoś też musi zapewnić i utrzymać.
Aktualizacje wymagają znanego stanu
Gdy maszyna dotrze do domeny, może przejąć zwykły proces domenowy lub zarządzania urządzeniami. Błędy wkradają się w zakresie, bo skrypt startowy działa w kontekście maszyny, a akcja logowania użytkownika i akcja zarządzania urządzeniem mogą różnić się zarówno zakresem, jak i uprawnieniami.
Wpis połączenia dla wszystkich użytkowników nie jest tunelem urządzenia przed logowaniem, cokolwiek sugerują nazwy. Tunele urządzeń niosą własne wymagania dotyczące platformy, protokołu i poświadczeń, a czytanie tych wymagań to jedyny sposób, by wiedzieć, czy tunel przed logowaniem jest tu możliwy. Tunel użytkownika uruchamiany przy logowaniu daje inną gwarancję.
Uczyń ścieżkę aktualizacji powtarzalną: znajdź profil, który jest już zarządzany, zachowaj zamierzone preferencje użytkownika, zastosuj zgodną definicję i zgłoś jasny wynik. Tworzenie nowego profilu przy każdym odświeżeniu zasad to sposób, w jaki maszyna kończy z pięcioma wpisami i użytkownikiem, który wybiera niewłaściwy.
Zapis, który utrzymuje to w ryzach
Do przekazania należą trzy odpowiedzi: jak nowo wydane urządzenie dostaje pierwsze połączenie, kto może zmieniać pakiet i jak administrator wycofuje się z niezgodnej zmiany. Gdy są zapisane, wdrożenie nie zależy już od kogoś, kto ma już dostęp, który ma zostać zapewniony.
Przechowuj ten zapis obok wersji pakietu i aktualizuj oba w tej samej zmianie. W przeciwnym razie następna osoba odbuduje ścieżkę bootstrapu ze zgłoszenia zamkniętego rok temu.