Do czego należy plik .pbk systemu Windows (a do czego nie)
Plik .pbk to książka telefoniczna należąca do jednego profilu lub serwera RRAS, a nie przenośny schemat VPN. Przeczytaj właściciela, sekcję i ujawnioną właściwość.
Wyniki wyszukiwania podają ci plik .pbk, nazwy kluczy wyglądają znajomo, a oczywistym krokiem jest potraktowanie go jako przenośnego schematu dla dowolnego VPN Windows. Tak nie jest. Format należy do właściciela, a ten sam klucz znaczy co innego w zależności od tego, który właściciel go zapisał. Właśnie przeczytanie zakresu najpierw chroni przed tym, by ćwiczenie dokumentacyjne zmieniło się w nieobsługiwaną edycję.
Czterej właściciele, czterech różnych czytelników
Czterech różnych właścicieli zapisuje pliki, które wyglądają podobnie. Rodzime połączenie dla jednego użytkownika trafia do książki telefonicznej bieżącego użytkownika, a połączenie dla wszystkich użytkowników trafia do magazynu na poziomie komputera, który może odczytać każde konto na hoście. Serwer RRAS przechowuje konfigurację połączeń na żądanie dla własnej roli routingu, a klient innej firmy może przechowywać własny format, który jedynie dzieli rozszerzenie. To samo rozszerzenie, czterech czytelników, cztery zestawy reguł.
Zgodna nazwa wyświetlana nie czyni dwóch takich wpisów jednym, a kopiowanie klucza między nimi zakłada, że administrator uszanuje coś, czego nigdy nie udokumentował. Właściciel decyduje też, kto może zmieniać plik: profil dla jednego użytkownika to wybór użytkownika, profil na poziomie komputera to decyzja administracyjna, a wpis połączenia na żądanie na serwerze to konfiguracja routingu pod własną kontrolą zmian. Dzięki temu błąd własności jest problemem uprawnień, zanim stanie się problemem formatu.
Ustal właściciela, patrząc na składnik, który zarządza połączeniem, a nie na sam plik. Plik jest artefaktem; składnik zarządzający określa, które klucze czyta i kiedy. Czytanie najpierw artefaktu, a potem administratora to droga, na której ludzie zaczynają edytować pole, o które nic nie pyta.
Gdzie opublikowany format przestaje opisywać twój plik
W protokole zarządzania RRAS książka telefoniczna to zwykły tekst, który zapisuje klient zarządzania, a odczytuje usługa routingu, dlatego specyfikacja MS-RRASM opisuje ustawienia połączeń na żądanie dla serwera, a nie dla profilu pulpitu. Struktura to część, którą płaskie czytanie niszczy. Wpis może zawierać kilka bloków mediów, każdy z blokami urządzeń, które z kolei zawierają bloki dla pojedynczych numerów. Dlatego ten sam klucz może pojawić się w więcej niż jednym miejscu z innym znaczeniem.
Czytaj klucz razem z jego sekcją i uwagami do wersji, i nie przenoś wartości z pola wyboru o podobnej nazwie w interfejsie pulpitu. Znalezienie znanych kluczy w dokumencie nie dowodzi, że obejmuje on każde pole niepowiązanego profilu rodzimego. Reguły sekcji również nie są zgodą na przepisanie książki telefonicznej pulpitu w formacie serwera.
| Owner | What reads the file | What a key means there |
|---|---|---|
| Per-user native connection | The user's own connection manager | A property of that user profile |
| All-user native connection | The machine-wide connection store | A property shared by everyone on the host |
| RRAS demand-dial | The RRAS service, using the documented hierarchy | A field inside a media, device or number section |
| Third-party client | That vendor's own parser | Whatever that vendor documents, if anything |
Tabela jest pomocą w czytaniu, a nie specyfikacją: mówi, którego czytelnika zapytać, a czytelnik mówi, co znaczy pole. Gdy tym czytelnikiem jest parser innej firmy, uczciwa odpowiedź może brzmieć, że nic publicznego nie dokumentuje tego pola w ogóle.
Pytaj Windows, nie pliku
W przypadku połączenia rodzimego poproś Windows o profil, zamiast czytać plik, ponieważ typowane właściwości są udokumentowaną powierzchnią i jedyną rzeczą, którą zmienia obsługiwana zmiana. Dwa poniższe polecenia czytają dwa rodzime magazyny osobno. Jeśli profilu nie ma w żadnym z obu magazynów, klient, który nim zarządza, nie używa mechanizmu rodzimego i żadne rodzime cmdlet go nie opisze.
Get-VpnConnection -Name 'Field Ops'
Get-VpnConnection -AllUserConnection | Select-Object Name, ServerAddress, TunnelType
Do wdrożenia, a nie do inspekcji, udokumentowaną drogą jest zarządzane ustawienie profilu z nazwanym schematem, a nie edycja liczbowa wewnątrz bloku tekstowego lub binarnego. Definicja profilu opisuje obsługiwane ustawienia; nie dostarcza certyfikatów i kluczy prywatnych, od których profil zależy. Rejestracja to osobny proces z własnym uprawnieniem, a zrozumienie klucza książki telefonicznej nigdy nie rozdzieliło klucza prywatnego. Zaplanuj obie ścieżki osobno, inaczej pierwsze wdrożenie certyfikatów stanie się drugim incydentem.
Jedna właściwość, potem cykl życia wokół niej
Zapisana wartość nie jest wartością zastosowaną. Po zatwierdzonej zmianie otwórz nowe połączenie i sprawdź trasy instalowane przez profil, politykę resolwera, którą dziedziczy, oraz operację, którą miał umożliwić. Ponowne użycie sesji, która już była podniesiona, testuje stare ustawienia i daje fałszywie negatywny wynik.
Skopiuj plik na bok przed jakąkolwiek pracą na surowym pliku, ponieważ książka telefoniczna z kilkoma wpisami jest współdzielonym artefaktem, a edycja punktowa, która przepisuje cały plik, ma większy zasięg niż sama zmiana. Zachowaj nienaruszone niepowiązane wpisy i przechowuj oryginalną chronioną konfigurację, dopóki nowa nie zostanie zweryfikowana. Jeśli wymagane pole nie jest udokumentowane dla właściciela i wersji, które faktycznie masz, zapisz to jako otwarte pytanie do pomocy technicznej. Wymyślanie kodowania z pliku innej maszyny to sposób, w jaki działający profil staje się projektem debugowania bez żadnego punktu odniesienia.
Dyscyplina jest ta sama na każdym kroku: nazwij właściciela, nazwij sekcję, a potem nazwij obsługiwaną operację. Wszystko inne to domysł z przypiętym cytatem.