Чому належить файл .pbk Windows (а чому ні)
Файл .pbk — це телефонна книга, що належить одному профілю або серверу RRAS, а не переносна схема VPN. Читайте власника, розділ і розкриту властивість.
Результати пошуку видають вам файл .pbk, назви ключів виглядають знайомо, і очевидний крок — вважати його переносною схемою для будь-якого VPN Windows. Але це не так. Формат належить власникові, і той самий ключ означає різне залежно від того, який власник його записав. Саме читання області дії спочатку не дає вправі з документації перетворитися на непідтримуване редагування.
Чотири власники, чотири різні читачі
Чотири різні власники пишуть схожі файли. Власне з'єднання окремого користувача потрапляє до телефонної книги поточного користувача, а з'єднання для всіх користувачів — до сховища рівня машини, яке може читати будь-який обліковий запис на вузлі. Сервер RRAS зберігає конфігурацію з'єднання на вимогу для своєї ролі маршрутизації, а клієнт третьої сторони може зберігати власний формат, який лише ділить розширення. Одне розширення, чотири читачі, чотири набори правил.
Збіжне відображуване ім'я не робить два такі записи одним, а копіювання ключа між ними припускає, що адміністратор поважатиме те, чого він ніколи не документував. Власник також вирішує, хто може змінювати файл: профіль окремого користувача — це вибір користувача, профіль рівня машини — адміністративне рішення, а запис з'єднання на вимогу на сервері — конфігурація маршрутизації під власним контролем змін. Тому помилка власності — це проблема прав, перш ніж вона стане проблемою формату.
Визначайте власника за компонентом, який керує з'єднанням, а не за самим файлом. Файл — це артефакт; керівний компонент визначає, які ключі він читає і коли. Спочатку прочитати артефакт, а потім адміністратора — це шлях, яким люди починають редагувати поле, яке ніщо не опитує.
Де опублікований формат перестає описувати ваш файл
У протоколі керування RRAS телефонна книга — це звичайний текст, який пише клієнт керування і читає служба маршрутизації, тому специфікація MS-RRASM описує параметри з'єднання на вимогу для сервера, а не для профілю робочого столу. Структура — це частина, яку плоске читання знищує. Запис може містити кілька блоків носія, кожен — блоки пристроїв, а ті — блоки окремих номерів. Тому той самий ключ може з'явитися в кількох місцях з різним значенням.
Читайте ключ разом із його розділом і примітками до версії та не переносьте значення з однойменної позначки в інтерфейсі робочого столу. Знаходження знайомих ключів у документі не доводить, що він охоплює кожне поле незв'язаного власного профілю. Правила розділів також не є дозволом переписати телефонну книгу робочого столу у форматі сервера.
| 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 |
Таблиця — це допомога для читання, а не специфікація: вона каже, до якого читача звертатися, а читач каже, що означає поле. Коли цей читач — сторонній аналізатор, чесна відповідь може бути такою: ніщо публічне взагалі не документує це поле.
Запитайте Windows, а не файл
Для власного з'єднання просіть у Windows профіль, а не читайте файл, бо типізовані властивості — це документована поверхня і єдине, що змінює підтримувана зміна. Дві команди нижче читають два власні сховища окремо. Якщо профілю немає в жодному з двох сховищ, клієнт, який ним керує, не використовує власний механізм, і жоден власний cmdlet його не опише.
Get-VpnConnection -Name 'Field Ops'
Get-VpnConnection -AllUserConnection | Select-Object Name, ServerAddress, TunnelType
Для розгортання, а не для перевірки, документований шлях — це кероване налаштування профілю з іменованою схемою, а не числове редагування всередині текстового або двійкового блоку. Визначення профілю описує підтримувані налаштування; воно не надає сертифікати й закриті ключі, від яких залежить профіль. Реєстрація — це окремий процес із власними повноваженнями, і розуміння ключа телефонної книги ніколи не розповсюджувало закритий ключ. Плануйте два шляхи окремо, інакше перше розгортання сертифікатів стане другим інцидентом.
Одна властивість, потім життєвий цикл навколо неї
Збережене значення — не застосоване значення. Після схваленої зміни відкрийте нове з'єднання й перевірте маршрути, які встановлює профіль, політику розв'язувача, яку він успадковує, і операцію, яку він мав уможливити. Повторне використання вже піднятої сесії перевіряє старі налаштування й дає хибнонегативний результат.
Скопіюйте файл убік перед будь-якою роботою з необробленим файлом, бо телефонна книга з кількома записами — це спільний артефакт, а точкове редагування, яке переписує весь файл, має більший радіус впливу, ніж сама зміна. Залишайте незв'язані записи недоторканими й зберігайте початкову захищену конфігурацію, доки нова не буде перевірена. Якщо обов'язкове поле не документоване для власника й випуску, які у вас справді є, запишіть це як відкрите питання підтримки. Вигадування кодування з файлу іншої машини — це шлях, яким робочий профіль перетворюється на проєкт зневадження без жодної точки відліку.
Дисципліна однакова на кожному кроці: назвіть власника, назвіть розділ, потім назвіть підтримувану операцію. Усе інше — здогад із приклеєною цитатою.