В Windows можно создавать профили пользователей, доступные только на чтение, с помощью обязательных (mandatory) профилей. Mandatory профиль — это специальный преднастроенный тип перемещаемого профиля, который не сохраняет изменения, внесенные пользователем в рамках сессии.
Когда пользователь выходит из системы, любые изменения в профиле сбрасываются и при следующем входе профиль загружается в исходном виде. Внести изменения в такой профиль может только администратор. Обязательные профили можно использовать на общедоступных компьютерах, информационных киосках, школах и других учебных заведениях, когда при завершении сеанса нужно сбрасывать любые изменения, внесенные пользователем.
Использование обязательных профилей пользователей в Windows
Обязательный профиль, это профиль, который настраивается администратором и недоступен для изменений пользователем. При входе с таким профилем пользователь может вносить любые изменения в свое окружение, но при выходе из системы они будут потеряны.
Обязательный профиль может хранится как локально, так и в сетевой папке (в этом случае он может использоваться сразу на множестве компьютеров).
Существует два типа обязательный профилей пользователей Windows:
- Обычный обязательный профиль пользователя (Normal mandatory user profile) – администратор переименовывает файл NTuser.dat (содержит ветку реестра пользователя HKEY_CURRENT_USER) в NTuser.man. При обнаружении в профиле файла NTuser.man система понимает, что этот профиль доступен только для чтения и не сохраняет в нем изменения. Если такой профиль хранится в сетевой папке, то при недоступности сервера пользователь сможет войти в систему с закэшированной ранее версией обязательного профиля.
- Принудительный обязательный профиль (Super mandatory user profile) — при использовании этого типа профиля, переименовывается сам каталог с профилем пользователя (в конец имени папки добавляется .man). Пользователи с этим типом профиля не смогут войти в систему, если недоступен сервер, на котором хранится профиль.
В этой статье, мы покажем, как создать и назначить пользователю локальный обязательный профиль на компьютере с Windows 10/11.
Создать обязательный (read-only) профиль пользователя в Windows
Есть два способа создания шаблона для обязательного профиля в Windows:
- Первый вариант предполагает создания рабочего окружения для пользователя и применение настроек к профилю Default через режим аудита (Ctrl+Shift+F3) + sysprep с использованием файла ответов Unattend.xml с включенной опцией CopyProfile = True (этот способ подробно описан здесь)
- Второй способ предполагает копирование настроек из Default Profile и внесение изменений в настройки профиля под администратором
Далее мы рассмотрим только второй способ создания mandatory профиля.
- Войдите в компьютер под учетной запись с правами администратора и откройте консоль управления локальным пользователями и группами (
lusrmgr.msc
). - Создайте новую учетную запись, например, ConfRoom.
- Теперь нужно скопировать профиль по-умолчанию в отдельный каталог с определенным расширением. Для Windows 11, Windows Server 2022/2019 и Windows 10 1607 и выше, нужно добавить в имя каталога суффикс V6. Например, каталог будет называться:
C:\ReadOnlyProfile.V6
. - Откройте окно с настройками системы (
SystemPropertiesAdvanced.exe
) и нажмите кнопку Settings в разделе User Profiles. - Выберите профиль Default Profile и нажмите кнопку Copy To.
- В качестве каталога, в который нужно скопировать профиль выберите C:\ReadOnlyProfile.V6 (либо вы можете скопировать шаблон профиля в сетевой каталог, указав UNC путь, например
\\server1\profiles\ReadOnlyProfile.V6
). - В разрешениях выберите NT AUTHORITY\Authenticated Users. Опцию Mandatory profile включать не нужно!
Назначить read-only профиль определенному пользователю Windows
Теперь вы можете назначить обязательный профиль нужному пользователю.
Если у вас используется локальный обязательный профиль, нужно в свойствах пользователя на вкладку Profile в поле Profile Path указать путь к каталогу
C:\ReadOnlyProfile
(обратите внимание, что суффикс V6 в этом случае указывать не надо!!).
Если вы настраиваете перемещаемый обязательный профиль для пользователя в домене AD, то UNC путь к каталогу с профилем нужно указать в свойствах учетной записи в консоли ADUC.
Откройте свойства папки C:\ReadOnlyProfile.V6 и добавьте права
Full Control
для группы «All Application Packages». В итоге на эту папку должны быть назначены следующие разрешения( с наследованием разрешений вниз): :
- ALL APPLICATION PACKAGES – Full Control (без этого некорректно работает стартовое меню)
- Authenticated Users – Read и Execute
- SYSTEM – Full Control
- Administrators – Full Control
Затем откройте редактор реестра, выберите ветку HKEY_USERS и щелкните File -> Load hive. Загрузите в реестр ветку пользователя из файла
C:\ReadOnlyProfile.V6\ntuser.dat
.
Щёлкните по добавленной ветке и выберите Permissions. Здесь нужно дать
Full Control
права на эту ветку реестра для группы “Authenticated Users” и “All Application Packages”
После этого выгрузите из редактора реестра этот ntuser.dat файл, выбрав File -> Unload Hive.
Откройте редактор локальный GPO (gpedit.msc) и настройте следующие политики:
- Computer Configuration > Policies > Administrative Templates > System > User Profiles -> Delete cached copies of roaming profiles =
Enabled
- Отключить анимацию при первом входе в Windows: Computer Configuration -> Administrative Templates -> System -> Logon -> Show first sign-in animation =
Disable
- Computer Configuration -> Administrative Templates -> Windows Components -> OOBE -> Don’t launch privacy settings experience on user logon =
Enabled
. - При использовании перемещаемых профилей для корректного отображения стартового меню нужно на всех устройствах задать ключ реестра типа DWORD с именем SpecialRoamingOverrideAllowed и значением
1
в разделе HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\.
Теперь авторизуйтесь в системе под новым пользователем и выполните необходимые настройки (внешний вид, разместите ярлыки, нужные файлы, настройте ПО и т.д.).
Завершите сеанс пользователя и войдите в систему под администратором и в каталоге с профилем переименуйте файл NTUSER.dat в NTUSER.man.
Теперь войдите в систему под пользователем с обязательным профилем и проверьте, что пользователь может полноценно работать в своем профиле: настраивать параметры окружения, настраивать программы. Чтобы проверить, что используется mandadory профиль, выполните PowerShell команду:
gwmi win32_userprofile | select localpath,roamingpath,status
Путь к используемому обязательному профилю содержится в параметре roamingpath. Status = 4 указывает на то, что используется mandatory тип профиля.
После выхода из системы все изменения в его профиле (в том числе история, куки, параметры приложений, временные файлы) не сохранятся.
Если нужно внести изменения в обязательный профиль, нужно переименовать файл ntuser.man в ntuser.dat и выполнить настройку среды под пользователем, после чего переименовать файл обратно.
При использовании mandatory-профиля на RDS серверах можно воспользоваться следующими политиками, в которых можно указать путь к каталогу профиля и включить использование обязательных профилей. Раздел GPO: Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Profiles.
- Use mandatory profiles on the RD Session Host server = Enabled
- Set path for Remote Desktop Services Roaming User Profile = Enabled + укажите UNC путь
Также обратите внимание, что, если вы решили использовать перенаправляемые папки совместно с обязательным профилем, не рекомендуется перенаправлять каталог AppData (Roaming).
сделала все по инструкции, при заходе другим пользователем не работает меню пуск, хоть ты тресни(
Кнопка Пуск не работает под обычным пользователем или под пользователем с обязательным профилем? Может профиль изначально поврежден? Попробуйте нового пользователя создать и проверить под ним.
У меня таже история была. Так и не вылечил.
Если у кого есть идеи. Пишем не стесняемся.
Аналогичная проблема…
Права в реестре выдайте: полный доступ всем авторизованным юзерам от корня (вроде от корня, лучше проверить, давно настраивали).
Это всё конечно интересно и всё это работает, но только когда один пользователь имеет свой собственный профиль.
К примеру у моих клиентов, в одной школе сотни учеников в домене используют один и тот же мандатный профиль (только для чтения). Это оооочень удобно. Если мне нужно к примеру, всем на рабочий стол положить ярлык или ещё какиенить изменения в профиле сделать. то я делаю это только один раз, а не у 500-та профилей. И один профиль для всех оооочень сильно экономит место на серваке. И всё бы хорошо, но там стоит Windows 7 SP1.
Сейчас они переходят на Windows 10 и я никак не могу настроить профиль так, чтоб его могли использовать сотни разных пользователей.
Для одного конкретного юзера проблем нет. Захожу под ним, меняю что надо, переименовываю NTuser.dat в .man и всё. Но когда другой пользователь из домена с тем же профилем пытается зайти в систему, то начинаются ошибки, то нет доступа, то профиль не найден, то проблема с гпо. Пробовал папке с профилем дать доступ всем, и вообще поигрался с доступом к профилю, но безрезультатно.
Если кто знает, как это сделать в десятке, плиз напишите мне. vfischer @ hcrhamburg.de
Пуск стал работать в много пользовательском режиме на сборке 1809 Widows 10 LTSC ( в моём случае ), и то в ущербном варианте — в Пуске отсутствуют все установленные программы, при закрытом профиле .MAN
помогает «костыль» — перезагрузка проводника после загрузки профиля
Перед закрытием профиля скопировать эти папки в другое место и после закрытия профиля скопировать в место хранения профиля:
AppData \ Local \ Microsoft \ Windows \ CloudStore
AppData \ Local \ Microsoft \ Windows \ кэша
AppData \ Local \ Microsoft \ Windows \ Explorer
Постоянно, после следующего открытия и закрытия профиля проделать эту операцию повторно.
За эти 2 решения (костыля), вам памятник нужно поставить!
Сколько нервов и времени потрачено…..
если не сложно рспишите детальней эти дейсвтия…
спасибо
Спасибо за материал.
Скажите, каков смысл в шагах с 3 по 8 (т.е., в копировании профиля пользователя по умолчанию в папку профиля нового пользователя)? Ведь, при первой авторизации, ОС самостоятельно сделает почти тоже самое (т.е., скопирует дефолтный профиль, но, правда, не назначит NTFS permissions так, как это сделано у вас).
Зачем трогать дефолтный профиль? Тем более он может быть перезаписан при очередном обновлении или установке какого-то софта. Лучше работать с его копией…
Спасибо за ответ.
Из вашего вопроса я заключаю, что мы не понимаем друг друга.
Вы считаете, что я говорил о каких-л.манипуляциях с профилем деф.пользователя со стороны сист. администратора?
Я вас правильно понял :). Вы не поймете, зачем копировать дефолтный профиль. Я говорю о том, что это нужно чтобы не испортить его и использовать для maddatory профиля custom профиль на базе дефолтного:)
Да, теперь вижу, что правильно…
Единственное, что мне неприятно – это то, как можно испортить профиль default user-a если не копировать его самостоятельно, а положиться в этом деле на ОС?
Зачем каталогу уазывать суффикс V6? Разве без суффикса работать не будет? Если необходим принудительный обязательный профиль, то у каталога необходимо указать расширение man.
если вы сохраняете профиль например в сети, то профиль сохраняется в каталог с именем в зависимости от версии Windows (меняется цифра после V*)
в статье ошибка — не нужно указывать V6
V* создается автоматически в зависимости от версии Windows
Суффикс обязателен, сохранение в соответствующий каталог в зависимости от версии Windows
Если установить обновление до версии 20H2 после закрытия профиля (переименования файла ntuser.dat в ntuser.man) и нескольких входов пользователя появляется критическая ошибка меню пуск и никакими описанными в интернете способами не удается ее устранить. Даже полной заменой на заранее сохраненные профили. Только удаление учетки и замена ее на новую. Кто то сталкивался с этим?
с таким не сталкивались, сидим на 1809 LTSC
Может помочь — после закрытия профиля, каталог с профилем ограничить в правах на запись, только чтение
Не помогает. Менял полностью профиль на заранее сохраненный рабочий и все равно не помогает.
Изменения видимо происходят в реестре , но не в HCKU.
Со старыми версиями другая проблема. При обновлении до 1903 или1909 при закрытии профиля при загрузке появляется окно с сообщением о настройке системы. После открытия профиля окна нет, закрываешь, опять появляется. Непонятно, как убрать его.
Проблему с меню Пуск удалось решить следующим способом. В редакторе групповой политики (gpedit.msk) конфигурация компьютера — административные шаблоны -система — профили пользователей — удалять кешируемые профили перемещаемых пользователей устанавливается в положение включено. После этого проблема пропадает но при открытии профиля появляется заставка как при первом входе в систему. Для ее отключения в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System нужно создать параметр типа DWORD с именем EnableFirstLogonAnimation и значением 0.
Добавлю еще чтоб отключить настройку Параметров конфиденциальности при входе не запрашивал:
Через gpedit — Конфигурация компьютера \ Административные шаблоны \ Компоненты Windows \ OOBE \ Не показывать экран выбора параметров конфиденциальности при входе пользователя = Включено
Через реестр — HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\OOBE\DisablePrivacyExperience=1 DWORD
Подскажите пожалуйста вы не сталкивались с такой проблемой, когда ты все программы настроил залачиваешь профиль т.е в man переводишь и некоторые программы которые из всех установленных которые ты настраивал , на них все настройки слетают и они запускаются словно их только установили ?
У меня по мимо пуска перестал работать еще раздел уведомления. Ни кто не знает как починить ?
Я жму на него он не открывается вообще. Пуск чинится описанным выше методом и то через раз конечно он так работает , пришлось сторонним пуском заменить, а вот окошко уведомлений что-то не хочет (