В апреле некоторые читатели решили перейти в кольцо Release Preview, чтобы получить ранний доступ к Windows 10 20H1. Кое-кто из них столкнулся с проблемой – страница программы предварительной оценки в Параметрах оказалось пустой. Сегодня я объясню две возможные причины такого поведения и приведу решения.
[+] Сегодня в программе
Начнем с простой причины, специфичной для 1909.
Причина 1: уровень телеметрии – не полный
По умолчанию в Windows 10 установлен базовый уровень телеметрии. На картинке Параметры конфиденциальности – Диагностика и отзывы.
Для получения инсайдерских сборок, куда входит и кольцо Release Preview, необходим полный уровень. В целом, на странице инсайдерской программы в Параметрах предусмотрен сценарий, когда задан другой уровень.
Однако из-за регрессионного дефекта в версии 1909 это сообщение не отображается. Поэтому решение простое – надо установить полный уровень телеметрии. После этого страница инсайдерской программы оживет.
Причина 2: нарушены разрешения на раздел реестра с параметрами телеметрии
В этом случае уровень телеметрии тоже не полный, но изменить его в Параметрах не удается.
Проблема
Даже если задать в Параметрах полный уровень телеметрии, настройка не применится. Заметить это можно, если перейти на другую страницу параметров, а потом вернуться обратно – уровень телеметрии останется прежним.
Настройка эквивалентна параметрам AllowTelemetry
и MaxTelemetryAllowed
в разделе реестра.
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection
При основном уровне оба параметра имеют значение 1, а при полном – 3.
Причина
Логично предположить, что внести изменения в реестр из Параметров мешает отсутствие разрешений. Проверить разрешения на раздел реестра можно из Regedit или в PowerShell от имени администратора:
Get-Acl -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection | Format-List
В чате @winsiders мы сравнили проблемные разрешения с рабочими. Сразу бросилось в глаза, что в проблемном случае владельцем этого раздела была группа администраторов, хотя должна быть система. Кроме того, заметно отсутствие в списке субъекта «Создатель-владелец», а также присутствие группы «Прошедшие проверку».
Я решил поковырять вопрос через пару дней, но к сожалению (или к счастью:), эту ОС уже обновили до 20H1. Поэтому дальше мне пришлось экспериментировать на ВМ. И тут я немного пожалел, что не попросил скриншот дополнительных параметров безопасности. Потому что курить синтаксис SDDL грустно даже с мануалом:)
С учетом того, что на проблемном ПК система все-таки имела полный доступ, воспроизвести проблему мне удалось в неочевидной последовательности:
- Отключение наследования разрешений [от родительского раздела реестра Policies].
- Удаление системы из списка субъектов с разрешениями!
- Включение наследования.
В скобках замечу, что после действия 3 в список субъектов автоматически добавляется из раздела Policies не только система, но и «Прошедшие проверку», что и наблюдалось на проблемном ПК.
Обходной путь
Чтобы задать необходимые параметры телеметрии и разблокировать страницу инсайдерской программы, достаточно задать в реестре верные значения. Например, в PowerShell от имени администратора выполнить:
$path = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection" # Telemetry level: 1 - basic, 3 - full $value = "3" New-ItemProperty -Path $path -Name AllowTelemetry -Value $value -Type Dword -Force New-ItemProperty -Path $path -Name MaxTelemetryAllowed -Value $value -Type Dword -Force
Решение
Чтобы вернуть возможность настройки из Параметров, придется исправить наследование разрешений.
Строго говоря, первые два пункта необязательны, но раз уж вы туда полезете…
- Установите владельцем раздела реестра СИСТЕМА (SYSTEM).
- Добавьте СОЗДАТЕЛЬ-ВЛАДЕЛЕЦ (CREATOR-OWNER) и дайте ему полные права на раздел.
- Включите наследование разрешений (inheritance). Возможно, понадобится сначала его выключить, преобразовав в явные разрешения, а затем снова включить.
В скобках названия субъектов и терминов для английской ОС. См. также Как получить доступ к разделу реестра и вернуть все на свои места.
Бонус: способы восстановления разрешений на разделы реестра
Трудно сказать, как возник такой расклад. Владелец проблемной системы не лез в разрешения руками, но обнаружил эту ситуацию на двух своих ПК.
Поэтому вероятнее всего изменения внесла какая-то сторонняя программа. Зачем она ломает разрешения – вопрос, ибо у администраторов и так полные права на раздел.
В принципе, сломать можно и руками. Поэтому по ссылке выше описаны методы правки реестра путем запуска cmd/regedit от имени SYSTEM и Trusted Installer. Это не гарантирует отсутствия проблем, но по крайней мере исключает сценарий с неправильными разрешениями.
Для их исправления есть несколько вариантов:
- Точечный, как в этой статье. Но зачастую неочевидно, что некая проблема возникает именно из-за разрешений, т.е. до этого надо еще дойти смекалкой или диагностикой.
- Откат к точке восстановления. Это самый простой способ в любой непонятной ситуации. Однако он не поможет, если проблема обнаружилась спустя значительное время после возникновения. То же самое относится и к восстановлению резервной копии реестра даже при ее наличии.
- Переустановка ОС поверх. Некоторые люди почему-то воспринимают этот способ как неспортивный, даже расписавшись в своем бессилии обращением в форум :)
Был еще способ defltbase.inf (KB313222), но он работал только вплоть до XP. Начиная с Vista, часть разрешений формируется динамически при установке ОС. Поэтому шаблоны разрешений не могут восстановить картину целиком.
Дискуссия и опрос
Не исключаю, что проблему породили те или иные попытки борьбы с телеметрией. Для меня очевидна ее полезность для экосистемы Windows. Однако я остаюсь при мнении, что Microsoft следует дать возможность ее отключения во всех изданиях.
С миллиардом устройств на Windows компании хватит объема данных от тех, кто не меняет стандартные настройки. При этом сразу исключается существенный пласт потенциальных и вполне реальных проблем, вызванных попытками отключить или вырезать телеметрию способами различной степени варварства.
В статье про мифы LTSC был такой фрагмент:
Мне абсолютно понятно, что людей беспокоит передача личной информации. Однако опрашиваемые в чате адепты полного отключения телеметрии не могут назвать конкретные аспекты ее базового уровня, касающиеся персональных данных. Попробуйте и вы — до и после прочтения документации!
Но никто из читателей не откликнулся. Предложение все еще актуально ;)
В каком состоянии у вас телеметрия в Windows 10?
- Базовый уровень / Стандартные настройки (44%, голосов: 51)
- Полный уровень / Инсайдер (21%, голосов: 24)
- Вырезано/отключено одним сторонним средством (10%, голосов: 12)
- Вырезано/отключено несколькими способами (10%, голосов: 12)
- Отключено политикой в Enterprise / LTSC (9%, голосов: 11)
- Отключено политикой в другом издании (3%, голосов: 3)
- Другое / Моего варианта тут нет (3%, голосов: 3)
Проголосовало: 116 [архив опросов]
Артём Жечев
Полный уровень (якобы инсайдер) и оно даже не отключается по этой же причине, но в окне «Программы предварительной оценки» никаких вариантов для выбора сборки нет.
Vadim Sterkin
С таким описанием проблемы я могу лишь посочувствовать… Пишите в http://forum.oszone.net/forum-118.html (правила прикреплены).
Артём Жечев
Не помогла инструкция, говорю. Уровень диагностики полный и он не меняется (Этим параметром управляет Программа предварительной оценки Windows), но в разделе «Программа предварительной оценки Windows» вариантов выбора сборок нет.
Vadim Sterkin
Вы этого не говорили, и даже сейчас не сказали, что именно вы делали. Вы просто повторили сказанное ранее.
Поэтому — в форум… Там, кстати, вчера вечером кто-то создал тему с похожей проблемой http://forum.oszone.net/thread-345141.html, даже скриншоты догадался прикрепить (и да, ему как раз помогли команды из статьи). Так что можете прямо там делать то, что я прошу.
Андрей Песков
Спасибо ,все помогло.Выполнил команду через Power Shell.Включился полный уровень телеметрии,постоянно.И сразу заработала программа windows insider