- PVSM.RU - https://www.pvsm.ru -
Сегодня я хочу начать разговор о редко обсуждаемой в сети, но крайне интересно технологической особенности ОС Windows – о политике продукта (далее буду назвать её оригинальным названием Product Policy). Каким образом Microsoft решает, сколько RDP сессий возможно одновременно открыть на ОС (почему в IOT их 2)? Где сказано, что у издания Windows Enterprise G может быть лишь английский или китайский языковой пакет? Где определено максимальное количество процессоров и памяти, максимальное количество подключений к расшаренной сетевой папке, как решается поддерживает ли ОС RDMA, требует ли SMB Signing, отключаются ли SMB1, Defender и Cortana. Да практически все компоненты и отличия разных изданий Windows контролируются именно через Product Policy, и пора бы нам разобраться, что это такое, где хранится, как изменять, и к чему приведут изменения.
Я расскажу об инструменте, позволяющем не только смотреть, но и изменять Product Policy, поговорим о Product Policy Editor, рассмотрим, где хранятся текущие значения Product Policy в Windows, и почему они возвращаются к исходным значениям, ну и, конечно, о том, можно ли как-то поменять это всё раз и навсегда для своей ОС, навсегда отключив нелюбимый Defender, разрешив неограниченное количество RDP сессий. Ну и, конечно, cделаем ранее невозможное — добьёмся русского интерфейса для интересного издания, описанного мной в наделавшей шума статье Windows 11 Enterprise G – Что за издание для правительства Китая и зачем оно вам? [1] Судя по огромному интересу читателей именно к Windows Enterprise G, я начну с неё, а другие аспекты Product Policy, сравнение параметров между изданиями расскажу в другой статье, там же поясню свою мысль о том, что теперь «все издания нужны, все издания равны», — мы можем включить ранее выключенные и отключить ненужные компоненты в любых изданиях, например, разрешить многое в самом лёгком Starter, или поотключать ненужное в любимом мной IoT Enterprise LTSC.
Итак, Product Policy это список разнообразных параметров, определяющих работу тех или иных компонентов ОС. Список совсем не малый, в Windows 11 24H2 насчитывает 615 таких пунктов, а в Windows 10 22H2 – 534 пункта. В любом издании все эти параметры определены в файле WindowsSystem32spptokensskusEDITIONEDITION-ppdlic.xrm-ms, где на месте слова EDITION в имени каталога и файла значится название SKU издания (Professional, EnterpriseG, IoTEnterpriseS, Cloud, etc) или тип лицензии (например, csvlk-pack). Данный файл у каждого издания свой, имеет все параметры, определяемые Product Policy, идёт внутри Install.wim и применяется к образу при установке, и при каждой перезагрузке ОС. Он подписан цифровой подписью, так что его модификации будут обнаружены службой sppsvc. При загрузке содержимое этого файла загружается в реестр в ключ HKLM SYSTEMCurrentControlSetControlProductOptionsProductPolicy, и именно отсюда ОС и берёт значения по ходу работы.
Как же посмотреть на список параметров и их значения? Можно ли их изменять?
Существует интересная программа Windows Policy Editor [2], давно разрабатываемая энтузиастами MyDigitalLife. Она доступна в том числе в исходниках [3] и умеет работать не только с онлайн системой, но и с оффлайн образами. Вы можете менять любые параметры из утилиты:
Однако, чтобы записать значение для онлайн ОС (не образ или подмонтированный реестр), вам потребуется перезагрузка с режимом SetupType=1, иначе будете получать ошибку сохранения изменений:
Итак, я перезагружаюсь в Setup Mode и снова запускаю Product Policy Editor. Один из любопытных параметров называется Kernel-MUI-Language-Allowed, в издании Enterprise G его значение выставлено на zh-CN; en-US. У всех остальных изданий значение имеет EMPTY (именно текстом слово EMPTY). Если это поле изменить – в реестре через утилиту и в файле политик в WindowsSystem32spptokensskus, а также отключить службу sppsvc, то мы сможем установить любой Language Pack на Windows Enterprise G (и Windows 10 и Windows 11, как 32-бит, так и 64-бит). Для этого в Product Policy Editor найдём параметр Kernel-MUI-Language-Allowed, зададим ему значение EMPTY, сохраним значение выбрав Save changes to the registry.
Далее, как я уже говорил, нам необходимо отредактировать файл, в котором определены требования лицензии к изданию. Для EnterpriseG сразу после установки это файл C:WindowsSystem32spptokensskusEnterpriseGEnterpriseG-ppdlic.xrm-ms, а если вы активировали ОС через KMS, сменив серийник на KMS ключ, то имя файла лицензии изменилось на C:WindowsSystem32spptokensskuscsvlk-packcsvlk-pack-ppdlic.xrm-ms. В этом файле хранятся все особенности издания, в нашем случае мы хотим изменить значение ключа Kernel-MUI-Language-Allowed, заменив в нём zh-CN; en-US на EMPTY. Для этого придётся похимичить с NTFS правами доступа на этот файл или запускать редактирование с правами System. Я по старинке используя утилиту NSUDO [4]с параметрами -U:T -P:E запускаю CMD.exe, из командной строки, получаю права системы, после чего могу отредактировать данный файл в блокноте.
Наконец, мне необходимо отключить службу sppsvc, запустив из той же CMD с правами системы редактор реестра REGEDIT, я заменю значение ключа с 2 на 4 (отключу запуск службы).
Далее просто перезагружаюсь и спокойно меняю язык интерфейса на русский. Вуаля.
В следующий раз расскажу подробнее о Product Policy для других целей (список возможно интересных задач озвучен в первом абзаце статьи и приведён в виде таблицы). Если остались вопросы, отвечу в комментариях. Интересна дискуссия о редактировании Product Policy для других изданий (Windows IoT Enterprise LTSC, Windows Server, Azure Stack HCI), об этом больше как раз в следующей статье, постараюсь осветить основные вопросы из комментариев. Ставьте лайк, подписывайтесь.
➤ Установка Microsoft Office 2024 на Mac или обновление до последнего, поддерживаемого версией MacOS [5]
➤ Шаблоны для эффективной работы с DOM с помощью современного чистого JavaScript [6];
➤ [9]Как победить вампира-социопата, не приходя в сознание, или Еще раз о современной научной фантастике [10].
Автор: akibkalo
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/windows/396749
Ссылки в тексте:
[1] Windows 11 Enterprise G – Что за издание для правительства Китая и зачем оно вам?: https://habr.com/ru/articles/824500/
[2] Windows Policy Editor: https://cloud.mail.ru/public/VeBR/oz1ypP8pA
[3] доступна в том числе в исходниках: https://cloud.mail.ru/public/CSKb/RR4n3tdap
[4] NSUDO : https://github.com/M2TeamArchived/NSudo/releases
[5] Установка Microsoft Office 2024 на Mac или обновление до последнего, поддерживаемого версией MacOS: https://habr.com/ru/companies/timeweb/articles/840166/
[6] Шаблоны для эффективной работы с DOM с помощью современного чистого JavaScript: https://habr.com/ru/companies/timeweb/articles/843080/
[7] Как Linux создаёт и подсчитывает сокеты: https://habr.com/ru/companies/timeweb/articles/841462/
[8] Искусственный интеллект Джона Маккарти: https://habr.com/ru/companies/timeweb/articles/840678/
[9] : https://habr.com/ru/companies/timeweb/articles/835242/
[10] Как победить вампира-социопата, не приходя в сознание, или Еще раз о современной научной фантастике: https://habr.com/ru/companies/timeweb/articles/843108/
Нажмите здесь для печати.