В 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).