В этой статье мы рассмотрим, как удалить профиль учетной записи пользователя, не удаляя сам аккаунт. Это позволит вам сбросить все настройки и настройки для всех приложений и Windows для конкретного пользователя.
Профиль пользователя представляет собой набор файлов и папок для хранения всех личных предпочтений, параметров приложения, документов и других данных.
Каждая учетная запись Пользователя имеет соответствующий профиль пользователя.
Как правило, он хранится в C:\Users\Username и включает в себя ряд вложенных папок, таких как рабочий стол, документы, загрузки и т. д. вместе с скрытыми папками, как папка appdata, которая сохраняет настройки для различных компонентов Windows и установленных приложений.
Основной целью профиля пользователя является создание персонализированной среды с индивидуальными опциями, адаптированными к конечному пользователю.
Если ваш профиль пользователя поврежден или вам нужно восстановить его по умолчанию, то вы можете удалить профиль без удаления учетной записи. При следующем входе в систему для учетной записи пользователя автоматически создается новый профиль. Посмотрим, как это сделать.
Перед началом убедитесь, что ваша учетная запись имеет права администратора. Кроме того, нельзя удалить профиль текущего аккаунта (активные). Убедитесь, что вы вошли в систему с другой учетной записью пользователя, а не на один профиль, данные которого вы хотите удалить.
— Нажмите Win+R на клавиатуре.
— Введите следующее в текстовое поле и нажмите клавишу ввод:
SystemPropertiesAdvanced
system-properties-advanced-in-the-run-dialog
— Откройте дополнительные свойства системы. Там нажмите на кнопку параметры в разделе профили пользователей.
user-profiles-settings-button-system-properties
— В окне Профили пользователей выберите профиль учетной записи пользователя и нажмите кнопку Удалить.
delete-user-profile-windows-10
— Подтвердите запрос, и профиль учетной записи пользователя будет удален.
— При следующем входе пользователя его профиль будет автоматически создан со всеми параметрами и настройками по умолчанию.
Удалить профиль пользователя в Windows 10 вручную
— Откройте проводник.
— Перейдите в папку C:\Users и найдите имя пользователя, которое вы хотите удалить. В соответствующей папке содержится все, что связано с профилем пользователя, поэтому необходимо просто удалить эту папку.
delete-user-profile-folder-windows-10
— Теперь откройте редактор реестра.
— Перейдите в следующий раздел реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList.
— Слева пройдите через подразделы. Для каждого подраздела найдите значения строкового значения ProfileImagePath. После того, как вы найдете удаляемый профиль пользователя, удалите его.
registry-profile-path
— Вот и все! Вы только что удалили профиль пользователя для учетной записи. Он будет повторно создан с использованием значений по умолчанию при следующем входе пользователя.
Источник:
Winaero
.
Перевел: Яндекс переводчик.
Опубликовал: Билл Гейтц.
В этой статье описано, как добавить и удалить учетные записи на компьютере. Наличие разных учетных записей на общем компьютере позволяет нескольким пользователям работать на одном устройстве, предоставляя каждому из них собственные сведения для входа, а также доступ к их собственным файлам, избранному браузера и параметрам рабочего стола.
Кроме того, если вы используете один компьютер для личных проектов, а также для работы или учебы, вы можете добавить на компьютер разные учетные записи.
Примечание: Если вы используете новое устройство, вы можете увидеть учетную запись «defaultuser0» — эта учетная запись неактивна, она не вредит вашему устройству и не предоставляет другим пользователям доступ. Если вы хотите удалить ее, перезапустите устройство и снова выполните вход.
Добавление пользователей в домашний компьютер
Оптимальный способ добавления пользователя на компьютер — попросить его войти с помощью учетной записи Майкрософт. Подробные сведения об учетных записях Майкрософт см. в разделе Войти с помощью учетной записи Майкрософт.
-
Выберите Пуск > Параметры > Учетные записи > семья & других пользователей.
-
В разделе Другие пользователи > Добавить другого пользователя выберите Добавить учетную запись.
-
Введите сведения учетной записи Майкрософт этого пользователя и следуйте инструкциям.
Если вам требуется удалить данные для входа этого пользователя со своего компьютера, выполните указанные ниже действия.
-
Выберите Пуск > Параметры > Учетные записи > семья & других пользователей.
-
В разделе Другие пользователи выберите всплывающее меню для учетной записи, которую вы хотите удалить.
-
Рядом с полем Учетная запись и данные выберите Удалить. Обратите внимание, что при этом учетная запись Майкрософт пользователя не будет удалена. Будут удалены только его данные для входа с вашего компьютера.
Добавление пользователей в рабочий или учебный компьютер
Всем, кто использует на работе или в учебном заведении общий компьютер, желательно иметь собственную учетную запись Майкрософт. Подробные сведения об учетных записях Майкрософт см. в разделе Войти с помощью учетной записи Майкрософт.
Добавление пользователя с существующей учетной записью Майкрософт:
-
Выберите Пуск > Параметры > Учетные записи > Другие пользователи (в некоторых выпусках Windows он может быть помечен как Другие люди или Семья & других пользователей).
-
В разделе Рабочие или учебные пользователи > Добавить рабочую или учебную учетную запись выберите Добавить учетную запись.
-
Введите учетную запись этого пользователя, выберите тип учетной записи и нажмите Добавить.
Если вам требуется удалить данные для входа этого пользователя со своего компьютера, выполните указанные ниже действия.
-
Выберите Пуск > Параметры > Учетные записи > Другие пользователи.
-
Выберите имя пользователя или адрес электронной почты и нажмите Удалить.
-
Прочтите уведомление и выберите Удалить учетную запись и данные. Обратите внимание, что при этом учетная запись Майкрософт пользователя не будет удалена, но будут удалены его данные для входа и данные учетной записи с вашего компьютера.
Добавление рабочих или учебных учетных записей на компьютер
Если вы используете один компьютер как в личных целях, так и для учебы или работы, вы можете добавить на компьютер разные учетные записи, чтобы упростить доступ к файлам, приложениям и информации, связанным с каждой учетной записью. При доступе к рабочей или учебной учетной записи вы подключаетесь к домену своей организации и получаете доступ к ее ресурсам.
Добавление другой учетной записи на компьютер:
-
Выберите Пуск > Параметры > Учетные записи > Доступ к рабочей или учебной среде.
-
Рядом с полем Добавление рабочей или учебной учетной записи выберите Подключиться.
-
Введите сведения об учетной записи этого пользователя, выберите тип учетной записи и нажмите кнопку Добавить.
Если вам требуется удалить учетную запись с компьютера, выполните указанные ниже действия.
-
Выберите Пуск > Параметры > Учетные записи > Доступ к рабочей или учебной среде.
-
Выберите учетную запись, которую хотите удалить, и выберите Отключиться.
-
Нажмите Да, чтобы подтвердить свои действия. Обратите внимание, что при этом учетная запись не будет удалена целиком. Будет только удален доступ к вашему компьютеру
Примечание: Если учетная запись является единственной или основной учетной записью на компьютере, ее невозможно удалить.
Добавление учетных записей, используемых приложениями
Чтобы облегчить и ускорить вход в учетные записи, вы можете добавить учетные записи для разных приложений.
Добавление на компьютер учетной записи, используемой приложениями:
-
Выберите Пуск > Параметры > Учетные записи > Email & учетные записи .
-
Добавление учетной записи, используемой по электронной почте. календарь или контакты выберите Добавить учетную запись в разделе Учетные записи, используемые электронной почтой, календарем и контактами. Для других приложений выберите Добавить учетную запись Майкрософт или Добавить рабочую или учебную учетную запись.
-
Следуйте инструкциям по добавлению учетной записи.
Удаление с компьютера учетной записи, используемой приложениями:
-
Выберите Пуск > Параметры > Учетные записи > Email & учетные записи .
-
Выберите учетную запись, которую хотите удалить, и выберите Удалить.
-
Нажмите Да, чтобы подтвердить свои действия.
Добавление пользователей в семейную группу
Если вы добавили учетные записи Майкрософт вашей семьи на компьютер, вы можете настроить их как семью майкрософт. Это бесплатная служба, которая помогает семьям оставаться на связи и обеспечить безопасность детей на устройствах Windows 11 и Xbox One, а также устройствах Android под управлением Microsoft Launcher.
Добавление пользователей в домашний компьютер
Оптимальный способ добавления пользователя на компьютер — попросить его войти с помощью учетной записи Майкрософт. Подробные сведения об учетных записях Майкрософт см. в разделе Войти с помощью учетной записи Майкрософт.
В выпусках Windows 10 Домашняя и Windows 10 Профессиональная:
-
Выберите Пуск > Параметры > Учетные записи > семья & других пользователей.
-
В разделе Другие пользователи выберите Добавить другого пользователя на этот компьютер.
-
Введите сведения учетной записи Майкрософт этого пользователя и следуйте инструкциям.
Если вам требуется удалить данные для входа этого пользователя со своего компьютера, выполните указанные ниже действия.
-
Выберите Пуск > Параметры > Учетные записи > семья & других пользователей.
-
Выберите имя пользователя или адрес электронной почты и нажмите Удалить. Обратите внимание, что при этом учетная запись Майкрософт пользователя не будет удалена. Будут удалены только его данные для входа с вашего компьютера.
Добавление пользователей в рабочий или учебный компьютер
Всем, кто использует на работе или в учебном заведении общий компьютер, желательно иметь собственную учетную запись Майкрософт. Подробные сведения об учетных записях Майкрософт см. в разделе Войти с помощью учетной записи Майкрософт.
Добавление пользователя с существующей учетной записью Майкрософт:
-
Выберите Пуск > Параметры > Учетные записи > Другие пользователи (в некоторых выпусках Windows он может быть помечен как Другие люди или Семья & других пользователей).
-
В разделе Пользователи учетной записи компании или учебного заведения выберите Добавить пользователя компании или учебного заведения.
-
Введите учетную запись этого пользователя, выберите тип учетной записи и нажмите Добавить.
Если вам требуется удалить данные для входа этого пользователя со своего компьютера, выполните указанные ниже действия.
-
Выберите Пуск > Параметры > Учетные записи > Другие пользователи.
-
Выберите имя пользователя или адрес электронной почты и нажмите Удалить.
-
Прочтите уведомление и выберите Удалить учетную запись и данные. Обратите внимание, что при этом учетная запись Майкрософт пользователя не будет удалена, но будут удалены его данные для входа и данные учетной записи с вашего компьютера.
Добавление рабочих или учебных учетных записей на компьютер
Если вы используете один компьютер как в личных целях, так и для учебы или работы, вы можете добавить на компьютер разные учетные записи, чтобы упростить доступ к файлам, приложениям и информации, связанным с каждой учетной записью. При доступе к рабочей или учебной учетной записи вы подключаетесь к домену своей организации и получаете доступ к ее ресурсам.
Добавление другой учетной записи на компьютер:
-
Выберите Пуск > Параметры > Учетные записи > Доступ к рабочей или учебной среде.
-
Нажмите Подключиться и следуйте инструкциям по добавлению учетных записей.
Если вам требуется удалить учетную запись с компьютера, выполните указанные ниже действия.
-
Выберите Пуск > Параметры > Учетные записи > Доступ к рабочей или учебной среде.
-
Выберите учетную запись, которую хотите удалить, и выберите Отключиться.
-
Нажмите Да, чтобы подтвердить свои действия. Обратите внимание, что при этом учетная запись не будет удалена целиком. Будет только удален доступ к вашему компьютеру
Примечание: Если учетная запись является единственной или основной учетной записью на компьютере, ее невозможно удалить.
Добавление учетных записей, используемых приложениями
Чтобы облегчить и ускорить вход в учетные записи, вы можете добавить учетные записи для разных приложений.
Добавление на компьютер учетной записи, используемой приложениями:
-
Выберите Пуск > Параметры > Учетные записи > Email & учетные записи .
-
Добавление учетной записи, используемой по электронной почте. календарь или контакты выберите Добавить учетную запись в разделе Учетные записи, используемые электронной почтой, календарем и контактами. Для других приложений выберите Добавить учетную запись Майкрософт или Добавить учетную запись компании или учебного заведения.
-
Следуйте инструкциям по добавлению учетной записи.
Удаление с компьютера учетной записи, используемой приложениями:
-
Выберите Пуск > Параметры > Учетные записи > Email & учетные записи .
-
Выберите учетную запись, которую хотите удалить, и выберите Удалить.
-
Нажмите Да, чтобы подтвердить свои действия.
Добавление пользователей в семейную группу
Если вы добавили учетные записи Майкрософт вашей семьи на компьютер, вы можете настроить их как семью майкрософт. Это бесплатная служба, которая помогает семьям оставаться на связи и защищать детей на устройствах с Windows 10 и консолях Xbox One, а также на устройствах Android с Microsoft Launcher.
Нужна дополнительная помощь?
Нужны дополнительные параметры?
Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.
В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.
Найдите решения распространенных проблем или получите помощь от агента поддержки.
You will need administrative privileges to delete a user profile
by Claudiu Andone
Oldtimer in the tech and science press, Claudiu is focused on whatever comes new from Microsoft. His abrupt interest in computers started when he saw the first Home… read more
Updated on
- User profiles can take out a lot of space so you should delete an unused user profile on Windows 10.
- We have highlighted four methods of removing a user profile, but you will still need administrator permissions to do so.
XINSTALL BY CLICKING THE DOWNLOAD
FILE
If you have a corrupt user profile on your Windows 10 it’s safer to delete it and create a new one. Whatever your reason, in this article, we will show you how to delete a user profile on Windows 10 safely and quickly.
Why can’t I delete a user profile in Windows 10?
If you have already tried to remove a user profile from Windows 10 and didn’t succeed, here are some of the reasons for not being able to do that:
- No rights – You can’t delete a profile without administrative rights. We have a guide on how to make yourself an administrator on Windows 10. After doing so, come back here to delete the user profile.
- The user account is still present – Before deleting a user profile, its corresponding account should be deleted first. In some cases, the user account keeps reappearing even after you deleted it.
- The account is linked – If you are trying to delete the profile of a Microsoft Account linked with the Access Work or School accounts, you might not be able to remove the account.
So, you will have to get these issues out of the way before deleting the account and the user profile.
How we test, review and rate?
We have worked for the past 6 months on building a new review system on how we produce content. Using it, we have subsequently redone most of our articles to provide actual hands-on expertise on the guides we made.
For more details you can read how we test, review, and rate at WindowsReport.
How do I delete a user profile from Windows 10?
1. Use the System Properties
- Press the Windows + R key combination to open the Run console.
- Type or paste SystemPropertiesAdvanced into the box and hit Enter.
- In the Advanced section, go to the User profiles menu, and click on Settings button.
- Now, select the user profile you want to delete and click the Delete button.
- Click the Yes button to confirm the deletion.
This is the most effective solution because it also removes the user account in the process.
2. Use the Settings app
- Click the Start button and select Settings.
- Now, click on Accounts.
- Click on Family & other users from the left pane, then scroll down on the right until you get to Other users. Select the user account you want to delete and select Remove.
- Now, click on Delete account and data.
With this procedure, you will also delete the account and the user profile.
- High GPU Usage but Low FPS: 8 Ways to Fix This Issue
- Roblox Error 267: How to Fix it
- Teams Machine Wide-Installer: What is it & How to Set it Up
- Xbox Error Code 80151912: How to Fix it
3. Use the Registry Editor
- Press the Windows key + R to start Run, type regedit, and press Enter or click OK.
- Navigate to the following path in Registry Editor:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
- Now, go through all the profile subkeys on the left and look at the ProfileImagePath on the right to identify the right profile. Once you have found the one you want to delete, right-click its subkey from the left and delete it.
4. Delete the user profile data
- Press the Windows key + E to start File Explorer.
- Got to the following path:
C:/Users
- Select the profile you want to delete and hit the Delete button to remove it. Make sure you have administrative privileges to delete the profile folder.
That’s it! We hope our solutions helped you delete the user profile on Windows 10 and all the associated data.
If you need extra info, check our article on what to do if the profile was not deleted completely on Windows 10.
For any other questions or solutions, use the comments section below; we will get back to you as soon as possible.
В этой пошаговой инструкции подробно о том, как удалить пользователя в Windows 10 в различных ситуациях — об удалении простой учетной записи, или того, пользователя, которые не отображается в списке пользователей в параметрах; о том, как выполнить удаление, если вы видите сообщение о том, что «Пользователь не может быть удален», а также о том, что делать, если при входе в систему отображается два одинаковых пользователя Windows 10, и нужно убрать одного лишнего. См. также: Как удалить учетную запись Майкрософт в Windows 10.
В общем случае, учетная запись из которой производится удаление пользователя, должна иметь права администратора на компьютере (особенно если удаляется существующий аккаунт администратора). Если в настоящий момент она имеет права простого пользователя, то для начала зайдите под имеющимся пользователем с правами администратора и дайте нужному пользователю (тому, под которым в дальнейшем планируете работать) права администратора, о том, как это сделать разными способами написано в руководстве «Как создать пользователя Windows 10».
Простое удаление пользователя в параметрах Windows 10
Если вам требуется удалить «простого» пользователя, т.е. созданного лично вами или заранее присутствовавшего в системе при покупке компьютера или ноутбука с Windows 10 и более не нужного, сделать это можно, используя параметры системы.
- Зайдите в Параметры (клавиши Win+I, или Пуск — значок шестеренки) — Учетные записи — Семья и другие люди.
- В разделе «Другие люди» кликните по пользователю, которого нужно удалить и нажмите соответствующую кнопку — «Удалить». Если нужный пользователь отсутствует в списке, о том, почему это может быть — далее в инструкции.
- Вы увидите предупреждение о том, что вместе с учетной записью будут удалены файлы этого пользователя, хранящиеся в его папках рабочего стола, документов и прочего. Если важных данных у этого пользователя нет, нажмите «Удалить учетную запись и данные».
Если все прошло успешно, то ненужный вам пользователь будет удален с компьютера.
Удаление в управлении учетными записями пользователей
Второй способ — использовать окно управления учетными записями пользователей, открыть которое можно так: нажмите клавиши Win+R на клавиатуре и введите в него control userpasswords2 после чего нажмите Enter.
В открывшемся окне выберите пользователя, которого нужно удалить, а затем нажмите кнопку «Удалить».
Если при этом вы получите сообщение об ошибке и о том, что пользователь не может быть удален, это обычно говорит о попытке удаления встроенной системной учетной записи, о которых — в соответствующем разделе этой статьи.
Как удалить пользователя с помощью командной строки
Следующий вариант: использовать командную строку, которую следует запустить от имени администратора (в Windows 10 это можно сделать через меню правого клика по кнопке «Пуск»), а затем использовать команды (нажимая Enter после каждой):
- net users (выдаст список имен пользователей, активных и нет. Вводим для проверки того, что правильно помним имя пользователя, которого нужно удалить). Внимание: не удаляйте таким образом встроенные учетные записи Администратор, Гость, DefaultAccount и defaultuser.
- net user Имя_пользователя /delete (команда удалит пользователя с указанным именем. Если имя содержит проблемы, используйте кавычки, как на скриншоте).
Если команда была выполнена успешно, пользователь будет удален из системы.
Как удалить встроенные учетные записи Администратор, Гость или другие
Если вам требуется убрать лишних пользователей Администратор, Гость, а возможно и какие-то другие, сделать этого так, как описывалось выше, не получится. Дело в том, что это встроенные системные учетные записи (см., например: Встроенная учетная запись Администратор в Windows 10) и их нельзя удалить, но можно отключить.
Для того, чтобы сделать это, выполните два простых шага:
- Запустите командную строку от имени администратора (клавиши Win+X, затем выбрать нужный пункт меню) и введите следующую команду
- net user Имя_пользователя /active:no
После выполнения команды, указанный пользователь будет отключен и исчезнет в окне входа в Windows 10 и из списка учетных записей.
Два одинаковых пользователя Windows 10
Один из распространенных багов в Windows 10, который заставляет искать способы удаления пользователей — отображение при входе в систему двух учетных записей с одинаковыми именами.
Обычно это происходит после каких-либо манипуляций с профилями, например, после такого: Как переименовать папку пользователя, при условии, что до этого вы отключили пароль при входе в Windows 10.
Чаще всего срабатывающее решение, позволяющее убрать дубликат пользователя, выглядит так:
- Нажать клавиши Win+R и ввести control userpasswords2
- Выбрать пользователя и включить запрос пароля для него, применить настройки.
- Перезагрузить компьютер.
После этого можно снова убрать запрос пароля, но второй пользователь с таким же именем снова появиться не должен.
Постарался учесть все возможные варианты и контексты необходимости удаления учетных записей Windows 10, но если вдруг решения для вашей проблемы здесь не нашлось — опишите ее в комментариях, возможно, мне удастся помочь.
Администраторы время от времени должны удалять старые профили пользователей (уволенные пользователи, неактивные пользователи, и т.д.) в каталоге C:\Users на рабочих станциях и серверах Windows. Чаще всего с задачей очисткой профилей пользователей Windows сталкиваются на терминальных серверах RDS (Remote Desktop Services).
Основная проблема терминальных серверов – постоянный рост размеров каталогов профилей пользователей на диске. Частично эта проблема решается политиками квотирования размера профиля пользователя с помощью FSRM или NTFS квот, использованием профилей типа FSLogix или User Profile Disk, перемещаемыми папками и т.д. Но при большом количестве RDS пользователей в папке C:\Users со временем накапливается огромное количество каталогов с неиспользуемыми профилями пользователей.
Содержание:
- Как вручную удалить профиль пользователя в Windows?
- Групповая политика для автоматической очистки старых профилей
- PowerShell скрипт для удаления старых профилей пользователей в Windows
Как вручную удалить профиль пользователя в Windows?
В Windows вы можете вручную удалить профиль пользователя через панель управления.
- Откройте Advanced System Settings (команда
SystemPropertiesAdvanced
) -> User Profiles -> Settings; - В этом окне перечислен список всех профилей пользователей (локальных и доменных), которые хранятся на этом компьютере. Размер каждого профиля пользователя на диске указан в столбце Size.
- Выберите пользователя, чей профиль нужно удалить и нажмите кнопку Delete.
В Windows 11/10 и Windows Server 2022/2019 вы можете удалить профили пользователей с диска через приложение Settings. Перейдите в раздел Accounts -> Access work and school (или выполните команду быстрого доступа
ms-settings:otherusers
). Выберите пользователя и нажмите Remove чтобы удалить его данные с компьютера.
При корректном удалении профиля пользователя с диска будет удален каталог профиля в C:\Users и запись о пользователе в реестре.
Многие начинающиеся администраторы пытаются вручную удалить каталог с профилем пользователя из папки C:\Users. В этом случае нужно обязательно вручную удалить информацию о профиле из реестра Windows:
- Откройте редактор реестра
regedit.exe
; - Перейдите в ветку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
- Для каждого пользователя, выполнившего локальный вход в систему (этот метод входа должен быть разрешен пользователю настройками параметра Allow log on locally в GPO), создается отдельная ветка с SID пользователя в качестве имени;
- Вы можете найти раздел реестра, соответствующий пользователю по SID, или можете вручную просмотреть содержимое всех вложенных разделв, пока не найдете раздел, в котором значение ProfileImagePath указывает на каталог с профилем пользователя на диске (например,
C:\Users\kbuldogov
); - Удалите данный раздел реестра, чтобы завершить корректное удаление профиля.
Также вы можете удалить профиль конкретного пользователя с помощью PowerShell:
Get-CimInstance -Class Win32_UserProfile | Where-Object { $_.LocalPath.split(‘\’)[-1] -eq 'kbuldogov' } | Remove-CimInstance
Эта команда удалит как каталог на диске, так и ссылку на профиль пользователя kbuldogov в реестре HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList.
Эта команда будет работать как в Windows PowerShell, так и в новых версиях PowerShell Core 6.x,7.x
Можно удалить профиль пользователя на удаленном компьютере с помощью PowerShell Remoting и командлета Invoke-Command:
$compname="wks21s32"
$user = "kbuldogov"
Invoke-Command -ComputerName $compname -ScriptBlock {
param($user)
Get-CimInstance -Class Win32_UserProfile | Where-Object { $_.LocalPath.split(‘\’)[-1] -eq $user } | Remove-CimInstance
} -ArgumentList $user
Групповая политика для автоматической очистки старых профилей
В Windows есть специальный параметр групповой политики для автоматического удаления старых профилей пользователей старше xx дней. Вы можете включить этот параметр с помощью локального редактора GPO (
gpedit.msc
) или с помощью консоли управления доменными GPO (
gpmc.msc
). В этом примере на назначим политику автоматической очистки профилей на хосты в ферме RDS, которые вынесены в отдельный контейнер (Organizational Unit) Active Directory.
Прежде чем применять политику удаления старых профилей ко всем хостам, настоятельно рекомендуем проверить ее на тестовом сервере. Выведите один из серверов RDSH в режим обслуживания и протестируйте политику на нем.
- Найдите OU с компьютерами/серверами, на который вы хотите применить политику очистки старых профилей пользователей. Щелкните по OU и выберите Create a GPO in this domain and Link it here;
- Укажите имя политики и отредактируйте GPO;
- Перейдите в раздел Конфигурация компьютера -> Административные шаблоны -> Система -> Профили пользователей (Computer Configuration -> Administrative Templates -> System -> User Profiles);
- Откройте параметр “Удалять при перезагрузке системы профили пользователей по истечении указанного числа дней” (Delete user profiles older than a specified number days on system restart);
- Включите политику и укажите через сколько дней профиль пользователя считается неактивным и “Служба профилей пользователей Windows” можно автоматически удалить такой профиль при следующей перезагрузке. Обычно тут стоит указать не менее 45-90 дней;
- После применения новых настроек групповых политк, служба User Profile Services на ваших серверах Windows будет автоматически удалять старые профили пользователей. Удаление выполняется при перезагрузке сервера.
При использовании этой политики нужно быть уверенным, что при выключении/перезагрузке сервера нет проблем с системным временем (время не сбивается), иначе могут быть удалены профили активных пользователей.
Другой недостаток — вы не можете запретить удаление определенных профилей, например, локальных учетных записей, администраторов и т.д.
В версиях до Windows 11/10 и Windows Server 2022/2019 эта политика работала некорректно. Дело в том, что неактивноть профиля пользователя ранее определялась по дате именения файла NTUSER.dat. При установке обновлений Windows, служба Trusted Installer может менять дату изменения файла NTUSER.dat в профиле каждого пользователя. В результате служба Win32_UserProfile считает, что профиль использовался недавно.
В современных версиях Windows эта политика проверяет активность профиля пользователей по параметрам LocalProfileUnloadTimeLow и LocalProfileUnloadTimeHigh в ветке
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\<User Sid>
.
Вы можете получить значения параметров реестра LocalProfileLoadTimeLow и LocalProfileUnloadTimeHigh в привычном формате времени с помощью скрипта:
$profilelist = Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" foreach ($p in $profilelist) { try { $objUser = (New-Object System.Security.Principal.SecurityIdentifier($p.PSChildName)).Translate([System.Security.Principal.NTAccount]).value } catch { $objUser = "[UNKNOWN]" } Remove-Variable -Force LTH,LTL,UTH,UTL -ErrorAction SilentlyContinue $LTH = '{0:X8}' -f (Get-ItemProperty -Path $p.PSPath -Name LocalProfileLoadTimeHigh -ErrorAction SilentlyContinue).LocalProfileLoadTimeHigh $LTL = '{0:X8}' -f (Get-ItemProperty -Path $p.PSPath -Name LocalProfileLoadTimeLow -ErrorAction SilentlyContinue).LocalProfileLoadTimeLow $UTH = '{0:X8}' -f (Get-ItemProperty -Path $p.PSPath -Name LocalProfileUnloadTimeHigh -ErrorAction SilentlyContinue).LocalProfileUnloadTimeHigh $UTL = '{0:X8}' -f (Get-ItemProperty -Path $p.PSPath -Name LocalProfileUnloadTimeLow -ErrorAction SilentlyContinue).LocalProfileUnloadTimeLow $LoadTime = if ($LTH -and $LTL) { [datetime]::FromFileTime("0x$LTH$LTL") } else { $null } $UnloadTime = if ($UTH -and $UTL) { [datetime]::FromFileTime("0x$UTH$UTL") } else { $null } [pscustomobject][ordered]@{ User = $objUser SID = $p.PSChildName Loadtime = $LoadTime UnloadTime = $UnloadTime } }
PowerShell скрипт для удаления старых профилей пользователей в Windows
Вы можете удалять профили неактивных или заблокированных пользователей с помощью скрипта PowerShell.
Сначала попробуем подсчитать размер профиля каждого пользователя в папке C:\Users c помощью простого скрипта из статьи “Вывести размер папок с помощью PowerShell”:
gci -force ‘C:\Users\’-ErrorAction SilentlyContinue | Where { !($_.Attributes -match " ReparsePoint") }| ? { $_ -is [io.directoryinfo] } | % {
$len = 0
gci -recurse -force $_.fullname -ErrorAction SilentlyContinue | % { $len += $_.length }
$_.fullname, ‘{0:N2} GB’ -f ($len / 1Gb)
$sum = $sum + $len
}
“Общий размер профилей”,'{0:N2} GB’ -f ($sum / 1Gb)
Итого суммарный размер всех профилей пользователей в каталоге C:\Users около 22 Гб.
Теперь выведем список пользователей, профиль которых не использовался более 60 дней. Для поиска можно использовать значение атрибута профиля LastUseTime.
Get-WMIObject -class Win32_UserProfile | Where {(!$_.Special) -and ($_.ConvertToDateTime($_.LastUseTime) -lt (Get-Date).AddDays(-60))}| Measure-Object
У меня на терминальном сервере оказалось 143 профиля неактивных пользователей (общим размером около 10 Гб).
Следующий PowerShell скрипт выведет список подробную информацию о профилях пользователей, которые не обновлялись более 60 дней. Скрипт сконвертирует SID пользователя в имя, посчитает размер профиля каждого пользователя и выведет все в таблице:
$allprofilesinfo = @() $OldProfiles=Get-WMIObject -class Win32_UserProfile | Where {(!$_.Special) -and ($_.ConvertToDateTime($_.LastUseTime) -lt (Get-Date).AddDays(-60))} Foreach ($OldProfile in $OldProfiles) {$objSID = New-Object System.Security.Principal.SecurityIdentifier ($OldProfile.SID) $objUser = $objSID.Translate( [System.Security.Principal.NTAccount]) $userinfo = New-Object PSObject -Property @{ userName = $objUser.Value ProfilePath = $OldProfile.localpath LastUsedDate = $OldProfile.ConvertToDateTime($OldProfile.LastUseTime) FolderSize = "{0:N2} GB" -f ((gci –force $OldProfile.localpath –Recurse -ErrorAction SilentlyContinue| measure Length -s).sum / 1Gb) } $allprofilesinfo += $userinfo } $allprofilesinfo
Чтобы удалить все эти профили достаточно добавить перенаправить список на команду Remove-WmiObject (перед использование скрипта удаления желательно несколько раз перепроверить его вывод с помощью параметра –WhatIf ):
Get-WMIObject -class Win32_UserProfile | Where {(!$_.Special) -and (!$_.Loaded) -and ($_.ConvertToDateTime($_.LastUseTime) -lt (Get-Date).AddDays(-30))} | Remove-WmiObject –WhatIf
Как мы уже упомянули выше, при установке некоторых обновлений Windows, служба Trusted installer может менять дату изменения файла NTUSER.dat в профиле каждого пользователя.
На скриншоте выше видно, что все профили были изменены примерно в одно и тоже время. Проверьте дату последней установки обновлений в Windows:
gwmi win32_quickfixengineering |sort installedon |select InstalledOn -Last 1
Или с помощью модуля PSWindowsUpdate:
Get-WUHistory | Select-Object -First 20
Скорее всего она совпадет с датой изменения профилей. Поэтому в старых версиях Windows можно получить список неактивных профилей с помощью другого скрипта, который проверяет атрибуту lastwritetime каталога пользователя:
$USERS= (Get-ChildItem -directory -force 'C:\Users' | Where { ((Get-Date) — $_.lastwritetime).days -ge 60 } | % {'c:\users\' + $_.Name})
foreach ($User in $USERS) {
Get-WMIObject -class Win32_UserProfile | Where {(!$_.Special) -and (!$_.Loaded) -and ($_.LocalPath -eq $User)} | Remove-WmiObject WhatIf }
Чтобы не удалять профили некоторых пользователей, например, специальные аккаунты System и Network Service, учетную запись локального администратора, пользователей с активными сессиями, список аккаунтов-исключений), нужно модифицировать скрипт следующим образом:
#Список аккаунтов, чьи профили нельзя удалять
$ExcludedUsers ="Public","zenoss","svc",”user_1”,”user_2”
$LocalProfiles=Get-WMIObject -class Win32_UserProfile | Where {(!$_.Special) -and (!$_.Loaded) -and ($_.ConvertToDateTime($_.LastUseTime) -lt (Get-Date).AddDays(-60))}
foreach ($LocalProfile in $LocalProfiles)
{
if (!($ExcludedUsers -like $LocalProfile.LocalPath.Replace("C:\Users\","")))
{
$LocalProfile | Remove-WmiObject
Write-host $LocalProfile.LocalPath, "профиль удален” -ForegroundColor Magenta
}
}
Вы можете настроить запуск этого скрипта через shutdown скрипт групповой политики или по расписанию заданием планировщика. (перед настройкой автоматического удаления профилей внимательно протестируйте скрипт в своей среде!).
Можно модифицировать скрипт, чтобы автоматически удалять пользователи всех пользователей, которые добавлены в определенную группу AD. Например, вы хотите автоматически удалять профили уволившихся пользователей. Просто добавьте такие учетные записи в группу DisabledUsers и выполните на сервере скрипт:
$users = Get-ADGroupMember -Identity DisabledUsers | Foreach {$_.Sid.Value}
$profiles = Get-WmiObject Win32_UserProfile
$profiles | Where {$users -eq $_.Sid} | Foreach {$_.Delete()}