Не секрет, что работу с профилями пользователей в Django иначе как несчастьем не назовёшь. Все мы сталкивались с монолитностью модели auth.User , неадкеватным набором полей у неё, а также всеми теми ухищрениями, к которым приходилось прибегать.
-
Взять, к примеру, наследование. Требовалось создать собственную модель, унаследованную от auth.User …
# models.py from django.db import models from django.contrib.auth.models import User class MyUser(User): birthday = models.DateField()
… и написать миддльварь, которая бы подменяла класс для request.user . Или не миддльварь, а AUTHENTICATION_BACKEND . Неважно 🙂
Плюсом схемы было то, что наш, «клиентский» код (то бишь код проектов) не усложнялся, мы просто работали с нашим пользователем, как с обычным джанговским.
Основной минус такой схемы то, что при наследовании моделей заполняется не одна таблица в БД, а две: исходная джанговская django_auth и наша ourproj_user , в которой есть внешний ключ на django_auth . Да, наследование моделей в Django — это всего лишь OneToOneField с какими-то дополнительными атрибутами. Захотите использовать — имейте в виду.
MyHealth FAQ: Manage User Profiles
# models.py from django.db import models from django.contrib.auth.models import User class Profile(models.Model): user = models.OneToOneField(User) birthday = models.DateField()
… а потом добавить в settings нечто такое:
AUTH_PROFILE_MODULE = ‘accounts.Profile’
После этого в клиентском коде мы могли работать с профилем:
profile = request.user.get_profile() profile.birthday = datetime.today() profile.save()
-
сложность поддержки: у нас теперь не один объект для редактирования, а два. Надо не забыть, что дату рождения мы меняем у profile , а, к примеру, пароль у user . Немудрено и запутаться.
# profile.models from django.db import models from django.contrib.auth.models import User class Profile(models.Model): ‘что-нибудь хорошее’ def create_profile(sender, **kwargs): if kwargs[‘created’]: Profile.objects.create(user=kwargs[‘instance’]) models.signals.post_save.connect(create_profile, sender=User)
# monkey_patching.models from django.db import models from django.contrib.auth.models import User User.add_to_class(‘birthday’, models.DateField() )
Кстати, об обезьянах.
Ребята, подарившие миру легендарный sorl.thumbnail, очередной раз отличились и произвели на счет ещё одну убойную штуку. Встречайте: django-primate, приложение, которое используя методы манкипатчинга (приматы и обезьяны, чуете корреляцию?) позволяют очень просто превратить вашу собственную модель в auth.User . То есть, по-русски говоря, составлять профиль из нужных полей.
Начать использовать достаточно легко. Сначала надо поставить django-primate. Можно с PyPI:
pip install django-primate
… а можно и последнюю версию из их репозитория:
pip install -e git+https://github.com/aino/django-primate.git#egg=django-primate
Вызывать патч нужно при старте. Создатели рекомендуют применять его в manage.py
003 Types of User Profiles
#!/usr/bin/env python from django.core.management import setup_environ, ManagementUtility import imp try: imp.find_module(‘settings’) # Assumed to be in the same directory. except ImportError: import sys sys.stderr.write( «Error: Can’t find the file ‘settings.py’ in the directory » «containing %r. It appears you’ve customized things.nYou’ll have to » «run django-admin.py, passing it your settings module.n» % __file__ ) sys.exit(1) import settings if __name__ == «__main__»: setup_environ(settings) import primate primate.patch() ManagementUtility().execute()
теперь остаётся только указать в settings класс модели, который мы хотим использовать
AUTH_USER_MODEL = ‘users.models.User’
… и можно начинать придумывать модели:
# users.models from django.db import models from primate.models import UserBase, UserMeta class User(UserBase): __metaclass__ = UserMeta birthday = models.DateField() # На что фантазии хватит?
Теперь каждый раз, когда какой-либо компонент проекта будет обращаться к django.contrib.auth.models.User , он будет получать модель users.models.User . Обратное тоже верно. Админка пропатчится автоматом, никаких специальных действий для её подключения производить не надо.
- Убраны поля first_name и last_name , зато добавлено name ;
- Максимальная длина поля username составляет 50 символов (в auth.User было 30)
- Полю email добавлен уникальный индекс
- Метод get_profile возвращает self , так что можно не опасаться за код, использующий user.get_profile()
Разумеется, можно использовать абсолютно любой набор полей, но в этом случае есть риск, что возникнет несовместимость между сторонними приложениями, так что поля username , password и email лучше не переименовывать.
Ещё один момент: для совместимости с джангой, primate пропачит модель так, что её app_label станет не users (как в примере), а auth . Это особо касается пользователей South, которые могут некоторое время не понимать, почему
./manage.py schemamigration users —auto
не создаёт никаких миграций.
Впрочем, все желающие могут ознакомиться с README, который я оочень вольно перевёл. Если я что-то упустил, ошибся или допустил неточность, пишите в комментариях или делитесь своими соображениями по поводу.
Источник: habr.com
Пользовательские профили и их управление. Часть 1
В любой компании, основополагающей частью организации считаются сотрудники, которых в ИТ-инфраструктуре принято назвать пользователями. Для того чтобы каждый пользователь мог персонализировать фон рабочего стола, экранную заставку и прочие элементы, применяются профили пользователей.
По сути, профили пользователей отличаются от учетных записей пользователей тем, что профили пользователей позволяют применять персональные параметры при каждом входе пользователя в операционную систему, а не используется для входа в систему, как в случае с учетными записями пользователей. Профили представляют ряд преимуществ, как для системных администраторов, так и для конечных пользователей. Например, администратор может установить параметры пользователя по умолчанию, который бы соответствовал его задачам, не сохранял изменения, сделанные в рабочем окружении, а также загружал все параметры на локальный компьютер при каждом входе в систему. К пользовательским преимуществам можно отнести тот факт, что один компьютер может служить нескольким пользователям, то есть конкретный пользователь, который выполняет вход получает полностью настроенную рабочую среду, которая была сохранена именно для него, причем настройка рабочей среды одним пользователем не оказывает воздействия на параметры рабочей среды другого. Стоит обратить внимание на то, что у каждой учетной записи пользователя может быть не менее одного профиля.
Большинство системных администраторов при развертывании и управлении клиентскими местами своих пользователей пренебрегают такой мелочью, как централизованным контролем над пользовательскими рабочими столами. С одной стороны их можно понять, так как пользователи будут смотреть на подобные действия, как на попытку полного контроля их единственным свободным пространством, которое у них есть на рабочем месте, что приведет к появлению конфликтных ситуаций.
Но если посмотреть на этот факт с другой стороны, то попытки предоставления пользователю возможности изменения каких-либо настроек может привести к некорректной конфигурации, что может некоторым образом усложнить жизнь вам, как системному администратору. Вполне очевидно, что большинство нюансов, связанных с балансировкой контролем пользователя за своим профилем и централизованным управлением рабочими столами пользователя зависит от корпоративных правил вашей организации и все эти настройки могут быть жестко прописаны средствами групповых политик. Но даже если все было указано в корпоративных правилах, пользователи все равно будут постоянно с вами ругаться, так как они рано или поздно захотят поставить себе на рабочий стол какой-то красивый пейзаж или фотографию любимого троюродного племянника из-за чего вам будут регулярно приходить заявления подписанные начальниками отделов с просьбой облегчить жизнь сотруднику и позволять ему персонализировать свой рабочий стол. Использование групповых политик, безусловно, облегчит вам жизнь, поэтому к основной задачи, связанной с этим вопросом следует отнести процесс убеждения пользователей в том, что управление их рабочими столами обеспечат больший комфорт для последующей работы.
В операционных системах Windows существуют четыре типа профилей, изменять параметры которых могут как системные администраторы, так и конечные пользователи:
Временный профиль пользователя: профиль, который предоставляется пользователю лишь в том случае, когда операционной системе, из-за какой-либо системной ошибки не удалось загрузить во время входа и, соответственно, при выходе пользователя из системы такой профиль будет удален;
Локальный профиль пользователя: профиль, который создается при первом входе пользователя в систему и хранится на локальном жестком диске;
Перемещаемый профиль пользователя: профиль, который специально создается системным администратором для конечного пользователя, и хранится на сервере. Данные профили удобны тем, что пользователь имеет доступ к своей рабочей среде, выполняя вход на любом компьютере в организации;
Обязательный профиль пользователя: перемещаемый профиль, который содержит определенные параметры для конкретных пользователей или групп пользователей, в котором изменения вносятся исключительно администраторами.
Чего же хотят от вас в первую очередь конечные пользователи? Для них важнейшим моментом при входе в систему из любого компьютера, расположенного в сети организации является тот момент, чтобы их рабочий стол имел те настройки, что и на своем персональном компьютере, причем для них еще очень важно иметь доступ к своим данным независимо от своего расположения. По этой причине, правильное управление пользовательскими профилями для конечного пользователя значительно важнее, нежели для администратора. Всю эту функциональность вы можете реализовать при помощи перемещаемых пользовательских профилей. В этой статье вы узнаете о том, каким данные содержат пользовательские профили, разницу между локальными и перемещаемыми профилями, а также об управлении перемещаемыми профилями, средствами групповых политик.
Содержимое пользовательских профилей
Жизненный цикл пользовательского профиля начинается с копирования папки профиля пользователя по умолчанию, а именно папки Default User, которая хранится на любом компьютере, работающем под управлением операционной системы Windows. Информация в пользовательском профиле соответствует улью HKEY_CURRENT_USER системного реестра, которую вы можете найти в корне папки профиля пользователя, а именно в файле Ntuser.dat. в этом файле хранятся параметры конфигурации операционной системы, параметры приложений, а также рабочего стола текущего пользователя. Также профиль пользователя содержит скрытые папки, которые содержат такую информацию, как настройки рабочего стола и меню пуск, конфигурацию приложений и многое другое, а также папки, которые изначально доступны пользователю и предназначены для хранения документов, музыкальных и видео файлов, загружаемые из интернета файлы и многое другое.
Многие из вас знают, какие папки расположены в пользовательских профилях в операционной системе Windows XP и что все они находятся в папке Documents and Settings. Но в операционных системах, начиная с Windows Vista и Windows Server 2008 такой папки не существует, что немного вводит в заблуждение людей, которые работают с данными операционными системами впервые. Теперь все пользовательские профили расположены в папке Users, причем появилось множество папок, доступных пользователям, которых не было ранее. Например, все помнят, что в той же операционной системе Windows XP, в пользовательских профилях были такие папки, как «Мои документы», «Моя музыка», «Мои картинки» и т.д., что вызывало множество забавных конфликтных ситуацию между пользователями и администраторами. Теперь все эти папки имеют другое название, что позволит избежать некоторых конфликтов с конечными пользователями. Все эти папки предоставлены в следующей таблице:
Стандартные папки пользователей | ||
Windows Vista/7/Server 2008/2008 R2 | Windows XP/Server 2003 | Краткое описание |
Contacts (Контакты) | Отсутствует | Папка, для хранения контактов пользователей по умолчанию |
Desktop (Рабочий стол) | Desktop | Папка, которая содержит элементы рабочего стола |
Documents (Рабочий стол) | My Documents | Папка, предназначенная для хранения всех созданных пользователем документов по умолчанию |
Downloads (Загрузки) | Отсутствует | Папка, предназначенная для хранения всех файлов, загруженных пользователем из Интернета по умолчанию |
Favorites (Избранное) | Отсутствует | Папка, содержащая избранное браузера Internet Explorer |
Links (Ссылки) | Отсутствует | Папка, в которой хранятся избранные ссылки браузера Internet Explorer |
Music (Моя музыка) | My Music | Папка, предназначенная для хранения музыкальных файлов пользователя по умолчанию |
Pictures (Изображения) | My Pictures | Папка, предназначенная для хранения файлов изображений пользователя по умолчанию |
Saved Games (Сохраненные игры) | Отсутствует | Папка, в которой расположены сохранения для игр пользователя по умолчанию |
Searches (Поиски) | Отсутствует | Папка, предназначенная для хранения поисковых запросов пользователя |
Videos (Мои видеозаписи) | My Videos | Папка, предназначенная для хранения файлов фидео пользователя по умолчанию |
Virtual Machines (Виртуальные машины)* | Отсутствует | Папка, предназначенная для хранения виртуальных машин пользователя по умолчанию (данная папка отсутствует в операционной системе Windows Vista) |
Точки соединения | ||
AppData | Отсутствует | Данная папка является скрытой и в ней по умолчанию содержаться данные приложений пользователей. Эта папка содержит вложенные папки Local и Roaming, содержимое которых описано ниже, а также папка LocalLow, которая хранит параметры приложений для защищенных процессов и не перемещаются при развертывании перемещаемых профилей |
AppDataRoaming | Application Data | В этой точке соединения хранятся программные данные, которые определяются разработчиками приложений |
AppDataRoamingMicrosoftWindowsCookies | Cookies | Содержит сведения о пользователе и параметры его настройки |
AppDataLocal | Local Settings | В этих точках соединения вы можете найти файлы данных приложений, файлы журналов, а также временные файлы, которые входят в перемещаемый профиль |
AppDataLocalMicrosoftWindowsHistory | ||
AppDataLocalTemp | ||
AppDataLocalMicrosoftWindowsTemporary Internet Files | ||
AppDataRoamingMicrosoftWindowsNetwork Shortcuts | NetHood | Эта точка соединения содержит ярлыки для элементов сетевого окружения |
AppDataRoamingMicrosoftWindowsPrinter Shortcuts | PrintHood | Эта точка соединения содержит ярлыки для элементов папки принтеров |
AppDataRoamingMicrosoftWindowsRecent | Recent | Эта точка соединения содержит ярлыки для последних используемых документов и папок |
AppDataRoamingMicrosoftWindowsSend To | SendTo | Эта точка соединения содержит ярлыки служебных программ по работе с документами |
AppDataRoamingMicrosoftWindowsStart Menu | Start Menu | Эта точка соединения содержит ярлыки для программ из меню «Пуск» |
AppDataRoamingMicrosoftWindowsTemplates | Templates | Данная точка соединения включает шаблоны пользователя |
Documents | My Documents | Содержит документы и подпапки пользователя |
Как вы заметили из предыдущей таблицы, помимо стандартных пользовательских папок, в профилях пользователей еще есть точки соединения – папки, которые используются для разрешения доступа к общим папкам. Точки соединения, на первый взгляд, выглядят аналогично папкам, но на самом деле они содержат лишь ссылку, которая уже перенаправляет запрос файла в другое место на диске. При использовании приложений из предыдущих версий Windows, точки соединения позволяют приложениям записывать информацию в папки, которые используют новые имена в профилях пользователей в операционных системах Windows Vista и выше (версии 2).
Основные отличия между локальными и перемещаемыми профилями
Ранее я вкратце описал определение локальных и перемещаемых профилей. В этом разделе я подробнее опишу значение, применение и некоторые отличия этих двух типов пользовательских профилей.
Локальные пользовательские профили
Как уже упоминалось ранее, локальный пользовательский профиль создается на каждом компьютере при входе пользователя в систему. Этот профиль основан на скрытом пользовательском профиле Default, расположенном в папке %SystemDrive%User, который копируется в папку профиля нового пользователя.
При этом, некоторые параметры настроек рабочего стола пользователя определяются не только его профилем, а также и общими группами программ из папки All Users. При выходе пользователя из системы, все настройки, выполненные пользователем, сохраняются в его папке профиля, а профиль в папке Default User остается без изменений. Профили пользователей связаны с идентификаторами безопасности SID.
Поэтому, когда пользователь вновь входит на локальный компьютер, то этот профиль извлекается и предоставляет пользователю тот же рабочий стол, который был сохранен при его выходе. В том случае, если у пользователя на локальном компьютере помимо учетной записи в домене есть собственная учетная запись, то локальные профили этих учетных записей отличаются. Если компьютер присоединен к домену, то прежде всего проверяется сетевая версия пользовательского профиля по умолчанию, которая локализована в общем ресурсе NETLOGON на контроллере домена.
К основному преимуществу локальных пользовательских профилей можно отнести то, что любой пользователь, который входит на локальный компьютер, поддерживает уникальные личные параметры. Такие профили целесообразно держать на домашних компьютерах или в малых офисах, где все пользователи входят в рабочие группы. Но в том случае, когда пользователи внутри организации перемещаются среди множества компьютеров, поддержка большого количество профилей на каждом компьютере не считается удачным решением. Для решения такой задачи есть смысл воспользоваться таким решением, как перемещаемыми пользовательскими профилями.
Перемещаемые пользовательские профили
Перемещаемые пользовательские профили позволяют пользователям входить в систему на компьютерах домена, сохраняя параметры их профилей, чтобы пользователи, перемещающиеся среди множества компьютеров в организации, могли получать доступ непосредственно к своему профилю. В этом случае все пользовательские профили размещаются непосредственно на выделенном администратором сервере.
Когда пользователь выполняет вход в систему и проходит проверку подлинности в Active Directory, пользовательский профиль копируется на локальный компьютер. Все изменения, которые пользователь вносит в свой профиль, локально записываются, а также копируются в профиль пользователя, хранящийся на сервере, и используются при следующем входе в систему.
Если правильно указан путь к профилю для учетной записи пользователя домена и сервер доступен, то при выходе пользователя из системы копия его локального профиля будет сохранена как локально, так и в указанной папке на сервере. Соответственно, все свои параметры настройки и документы пользователя будут доступны ему вне зависимости от того, на каком компьютере он входит в систему.
По умолчанию копия профиля также кэшируется на локальном компьютере. Если пользователь уже входил с текущего компьютера, то временная метка профиля на локальном компьютере сравнивается с временной меткой профиля в общем ресурсе NETLOGON. Эта временная метка используется для определения наиболее новых файлов в профиле.
Если на сервере сохранен профиль новее, чем на локальном компьютере, весь профиль копируется с сервера. В том случае, если сервер недоступен, то пользователь получает копию перемещаемого профиля, сохраненного в локальном буфере. А если пользователь даже ни разу не входил в систему с данного компьютера, то для него создается новый профиль локального пользователя. И в первом и во втором случае, такой профиль называется временным, так как при выходе пользователя из системы этот профиль удаляется. Стоит обратить внимание на то, что начиная с операционной системы Windows Vista, структура папок профилей сильно изменилась и поэтому, в смешанной среде, вам следует тщательно спланировать реализацию перемещаемых пользовательских профилей.
Подобным образом организована работа и с обязательными профилями пользователя. Обязательные и перемещаемые профили совместно используются с целью создания для группы пользователей стандартизированной конфигурации рабочего стола с ограниченной функциональностью. Обязательные профили есть смысл использовать в следующем сценарии.
Допустим, в вашей организации есть отдел, который выполняет идентичные операции с распространением групповых политик, которые ограничивают возможности персонализации рабочего стола. В этом случае есть смысл создать единственный обязательный пользовательский профиль для этой группы пользователей, конфигурацию которого пользователи не смогут изменить. Такому профилю, после создания и помещения в общий ресурс NETLOGON, следует переименовать получившийся NTUSER.DAT в NTUSER.MAN и назначить разрешения только для чтения, а затем отконфигурировать его в качестве перемещаемого профиля. В итоге, вносимые пользователем изменения профиля на профильном сервере не будут сохраняться.
При планировании перемещаемых профилей вам также стоит проанализировать ситуацию с применением временных пользовательских профилей наряду с обязательными профилями. Если ваш профильный сервер становится недоступным, то пользователи, которые входят в группу с обязательными профилями не смогут выполнить вход в систему. Специально для этих случаев вам нужно создать принудительными профили, которые запрещают пользователям входить на компьютеры в случае недоступности перемещаемых профилей, что позволяет обеспечить дополнительный, улучшенный уровень безопасности.
Источник: www.oszone.net
Советы по открытию файла USERPROFILE
Не удается открыть файл USERPROFILE? Ты не единственный. Тысячи пользователей ежедневно сталкиваются с подобными проблемами. Ниже вы найдете советы по открытию файлов USERPROFILE, а также список программ, поддерживающих файлы USERPROFILE.
USERPROFILE расширение файла
Norton Antivirus User Profile Format |
Symantec |
Файлы параметров |
Файл USERPROFILE поддерживается в операционных системах 1. В зависимости от вашей операционной системы вам может потребоваться другое программное обеспечение для обработки файлов USERPROFILE. Ниже приводится сводка количества программ, которые поддерживают и открывают файл USERPROFILE на каждой системной платформе.
Операционные системы
1
Что такое файл USERPROFILE?
Файл USERPROFILE отнесен к категории Файлы параметров. Автор этого формата — Symantec. Файлы параметров состоит из # ЧИСЛА # похожих файлов. Norton Antivirus User Profile Format чаще всего встречается в операционных системах 1. Файл будет работать на Windows системах, но, к сожалению, не на других. Для открытия файла рекомендуется использовать приложение Norton AntiVirus.
Он был выпущен Symantec Corporation.
Как открыть файл USERPROFILE?
Часто повторяющаяся проблема с Norton Antivirus User Profile Format заключается в том, что USERPROFILE не связан с правильным программным файлом. Это приводит к тому, что файл USERPROFILE открывается системными приложениями, не предназначенными для этой цели, или отображает сообщение об отсутствии связанной программы. Эту проблему легко исправить.
Первое, что вам нужно сделать, это просто «дважды щелкнуть » по значку файла USERPROFILE, который вы хотите открыть. Если в операционной системе есть соответствующее приложение для ее поддержки, а также существует связь между файлом и программой, файл следует открыть.
Шаг 1. Установите Norton AntiVirus
Первый шаг — проверить, установлена ли на компьютере программа Norton AntiVirus. Это можно сделать, набрав Norton AntiVirus в поисковой системе операционной системы. Если это не так, установка может решить проблему, поскольку большинство приложений создают ассоциации файлов во время установки. Ниже приведен список программ, поддерживающих файл USERPROFILE.
Программы для открытия файла USERPROFILE
Не забывайте загружать программы, поддерживающие файлы USERPROFILE, только из проверенных и безопасных источников. Предлагаем использовать сайты разработчиков программного обеспечения.
Norton AntiVirus
Шаг 2. Создайте ассоциацию Norton AntiVirus с файлами USERPROFILE.
Если приложение установлено или было недавно установлено, но файл USERPROFILE по-прежнему не использует программу Norton AntiVirus, это означает отсутствие ассоциации. Эта опция доступна на уровне свойств конкретного файла, доступном в контекстном меню. Информация о файле и программе, с которой он связан, доступна здесь.
Используя кнопку «Изменить» , мы можем настроить программу на обработку этого типа. Может случиться так, что в следующем окне не будет подходящей программы — однако это можно исправить с помощью опции «Обзор», где необходимо вручную указать местоположение программы. Установка флажка «Всегда использовать выбранную программу . » навсегда связывает файл USERPROFILE с программой Norton AntiVirus.
Шаг 3. Обновите Norton AntiVirus до последней версии.
Если, однако, после привязки Norton AntiVirus к Norton Antivirus User Profile Format проблемы все равно остались, вам следует обновить программу до последней версии. В этом случае используйте сайт Symantec Corporation или обновите программу из приложения.
Шаг 4. Проверьте наличие следующих проблем с файлом USERPROFILE.
Проблема также может быть связана с самим файлом, если описанные выше действия не работают. Файловые проблемы можно разделить на следующие:
Файл пустой или неполный
Файл USERPROFILE может быть необычно маленьким по сравнению с исходным файлом. Обычно это относится к файлам USERPROFILE, загруженным из Интернета, если загрузка не завершилась должным образом. Единственный вариант восстановления — снова загрузить файл.
Файл USERPROFILE заражен вирусом.
Операционная система может быть заражена компьютерным вирусом. Проверка на вирусы с использованием новейшей антивирусной программы должна решить проблему. Некоторые поставщики антивирусов также предоставляют бесплатные онлайн-сканеры. Однако важно сканировать всю систему, а не только файл USERPROFILE или каталог программы. Однако помните, что не каждый зараженный файл USERPROFILE можно восстановить, поэтому важно регулярно делать резервные копии.
Версия файла неверна
Типичная ошибка совместимости — программа не поддерживает старую версию файла USERPROFILE. Эти проблемы известны, и их часто очень легко исправить с помощью веб-сайта разработчиков программного обеспечения.
Файл недействителен
Для этого может быть много причин. В зависимости от типа файла его необходимо исправить. Некоторые программы предлагают возможность восстановления данных из поврежденных файлов USERPROFILE. Вы можете восстановить файл из резервной копии или использовать Symantec help.
Файл USERPROFILE зашифрован.
При чтении появляется сообщение о том, что файл был зашифрован или поврежден. Зашифрованный файл USERPROFILE, за исключением специального обозначения, работает нормально, но только на том устройстве, где он был зашифрован, перед передачей на другую машину требуется расшифровка.
Файл находится в защищенном месте
Операционная система защищает файлы в некоторых местах (например, в корне системного раздела) от несанкционированного доступа. Проблема только в записи в файл, а не в его чтении. Лучше всего переместить USERPROFILE в другой каталог.
USERPROFILE файл используется другой программой
Эта проблема обычно затрагивает более сложные файлы. Некоторые типы файлов могут быть открыты только в одной программе за раз. Закрытие других программ должно помочь. Если ошибка сохраняется после закрытия других программ, подождите некоторое время. Антивирусные программы или создаваемая резервная копия могут заблокировать файл на некоторое время без ведома пользователя.
Если ничего не помогает, перезагрузите устройство.
Источник: file.tips