Удаление старых профилей пользователей в Windows
24.01.2023

itpro

PowerShell, Windows 10, Windows 11, Windows Server 2019, Windows Server 2022, Групповые политики

комментариев 30
Администраторы время от времени должны удалять старые профили пользователей (уволенные пользователи, неактивные пользователи, и т.д.) в каталоге C:\Users на рабочих станциях и серверах Windows. Чаще всего с задачей очисткой профилей пользователей Windows сталкиваются на терминальных серверах RDS (Remote Desktop Services).
Основная проблема терминальных серверов – постоянный рост размеров каталогов профилей пользователей на диске. Частично эта проблема решается политиками квотирования размера профиля пользователя с помощью FSRM или NTFS квот, использованием профилей типа FSLogix или User Profile Disk, перемещаемыми папками и т.д. Но при большом количестве RDS пользователей в папке C:\Users со временем накапливается огромное количество каталогов с неиспользуемыми профилями пользователей.
Как вручную удалить профиль пользователя в 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\ .

Вы можете получить значения параметров реестра 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 > Remove-Variable -Force LTH,LTL,UTH,UTL -ErrorAction SilentlyContinue $LTH = '' -f (Get-ItemProperty -Path $p.PSPath -Name LocalProfileLoadTimeHigh -ErrorAction SilentlyContinue).LocalProfileLoadTimeHigh $LTL = '' -f (Get-ItemProperty -Path $p.PSPath -Name LocalProfileLoadTimeLow -ErrorAction SilentlyContinue).LocalProfileLoadTimeLow $UTH = '' -f (Get-ItemProperty -Path $p.PSPath -Name LocalProfileUnloadTimeHigh -ErrorAction SilentlyContinue).LocalProfileUnloadTimeHigh $UTL = '' -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, ‘ GB’ -f ($len / 1Gb)
$sum = $sum + $len
>
“Общий размер профилей”,’ GB’ -f ($sum / 1Gb)
Итого суммарный размер всех профилей пользователей в каталоге C:\Users около 22 Гб.

При расчете размера профиля пользователя скрипт игнорирует символические ссылки в Windows.
Теперь выведем список пользователей, профиль которых не использовался более 60 дней. Для поиска можно использовать значение атрибута профиля LastUseTime.
У меня на терминальном сервере оказалось 143 профиля неактивных пользователей (общим размером около 10 Гб).

Следующий PowerShell скрипт выведет список подробную информацию о профилях пользователей, которые не обновлялись более 60 дней. Скрипт сконвертирует SID пользователя в имя, посчитает размер профиля каждого пользователя и выведет все в таблице:
$allprofilesinfo = @() $OldProfiles=Get-WMIObject -class Win32_UserProfile | Where Foreach ($OldProfile in $OldProfiles) GB" -f ((gci –force $OldProfile.localpath –Recurse -ErrorAction SilentlyContinue| measure Length -s).sum / 1Gb) > $allprofilesinfo += $userinfo > $allprofilesinfo

Чтобы удалить все эти профили достаточно добавить перенаправить список на команду Remove-WmiObject (перед использование скрипта удаления желательно несколько раз перепроверить его вывод с помощью параметра –WhatIf ):
Как мы уже упомянули выше, при установке некоторых обновлений Windows, служба Trusted installer может менять дату изменения файла NTUSER.dat в профиле каждого пользователя.
На скриншоте выше видно, что все профили были изменены примерно в одно и тоже время. Проверьте дату последней установки обновлений в Windows:
gwmi win32_quickfixengineering |sort installedon |select InstalledOn -Last 1
Get-WUHistory | Select-Object -First 20
Скорее всего она совпадет с датой изменения профилей. Поэтому в старых версиях Windows можно получить список неактивных профилей с помощью другого скрипта, который проверяет атрибуту lastwritetime каталога пользователя:
Чтобы не удалять профили некоторых пользователей, например, специальные аккаунты System и Network Service, учетную запись локального администратора, пользователей с активными сессиями, список аккаунтов-исключений), нужно модифицировать скрипт следующим образом:
#Список аккаунтов, чьи профили нельзя удалять
$ExcludedUsers =»Public»,»zenoss»,»svc»,”user_1”,”user_2”
$LocalProfiles=Get-WMIObject -class Win32_UserProfile | Where
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
$profiles = Get-WmiObject Win32_UserProfile
$profiles | Where | Foreach
Дополнительно вы можете использовать еще один PowerShell скрипт для очистки временных файлов и кэша в профилях активных пользователей RDS
Предыдущая статья Следующая статья
Как удалить учетную запись пользователя в Windows?

При этом, в случае нахождения компьютера в домене Active Directory, удаление учетной записи не запретит доступ пользователю на компьютер, но полностью удалит все данные этой учетной записи на компьютере. Это может быть полезно для тех случаев, когда нужно освободить место на накопителе, удаляя неиспользуемые учетные записи пользователей.
Как удалить учетную запись пользователя в Windows 10
- Для удаления учетной записи пользователя Windows 10, необходимо открыть меню Пуск, а оттуда открыть «Параметры» (значок шестеренки в левой части меню).

- В окне «Параметры» выбираем «Учетные записи».

- Далее, в боковом меню выбираем пункт «Семья и другие пользователи».

- В разделе «Другие пользователи» будет отображаться список пользователей, среди которых нужно выбрать нужного для удаления, нажать на него и выбрать пункт «Удалить».

- Появится окно с предупреждением, что с компьютера будут полностью удалены все учетные данные, ровно как и сама учетная запись. Для подтверждения своего желания удалить учетную запись, необходимо выбрать пункт «Удалить учетную запись и данные». После выбора данного пункта, учетная запись будет удалена.

Как удалить учетную запись пользователя в Windows 7
Если ваш компьютер НЕ ВХОДИТ в домен
Когда вы удаляете учетную запись пользователя, вы можете выбрать какие файлы, созданные под этой учетной записью, оставить. Но электронная почта и настройки компьютера для этой учетной записи будут удалены в любом случае.
- Откройте учетные записи через Пуск, Панель управления, Учетные записи пользователей, снова нажмите Учетные записи пользователей, затем выберите Администрирование учетных записей. Тут требуются права администратора. Если появится запрос пароля администратора или подтверждения, введите пароль или подтвердите согласие.
- Выберите учетную запись, которую вы хотите удалить и нажмите Удалить учетную запись.
- Определите какие файлы, созданные под этой учетной записью, вы хотите оставить, а какие удалить и нажмите Сохранить файлы или Удалить файлы.
- Нажмите Удалить учетную запись.
Если ваш компьютер ВХОДИТ в домен
Так как ваш компьютер в домене, вы можете удалять локальные учетные записи с компьютера, но вы не можете удалять их из домена. Все файлы, созданные под этой учетной записью, будут удалены.
- Откройте учетные записи через Пуск, Панель управления, Учетные записи пользователей, снова нажмите Учетные записи пользователей, затем выберите Администрирование учетных записей. Тут требуются права администратора. Если появится запрос пароля администратора или подтверждения, введите пароль или подтвердите согласие.
- В панели Учетные записи Windows нажмите на название учетной записи и потом нажмите Удалить из хранилища.
- В диалоговом окне учетной записи нажмите Да, потом OK.
Как удалить учетную запись пользователя в Windows XP

- Открываем меню Пуск, и выбираем пункт «Панель управления».
- В открывшейся Панели управления, выбираем пункт «Учетные записи пользователей». Данный пункт присутствует в обоих вариантах отображения панели управления — классическом и по категориям.




Как удалить пользователя Windows 10
Простое удаление пользователя в параметрах Windows 10
Если вам требуется удалить «простого» пользователя, т.е. созданного лично вами или заранее присутствовавшего в системе при покупке компьютера или ноутбука с Windows 10 и более не нужного, сделать это можно, используя параметры системы.
- Зайдите в Параметры (клавиши Win+I, или Пуск — значок шестеренки) — Учетные записи — Семья и другие люди.
- В разделе «Другие люди» кликните по пользователю, которого нужно удалить и нажмите соответствующую кнопку — «Удалить». Если нужный пользователь отсутствует в списке, о том, почему это может быть — далее в инструкции.

- Вы увидите предупреждение о том, что вместе с учетной записью будут удалены файлы этого пользователя, хранящиеся в его папках рабочего стола, документов и прочего. Если важных данных у этого пользователя нет, нажмите «Удалить учетную запись и данные».

Если все прошло успешно, то ненужный вам пользователь будет удален с компьютера.
Удаление в управлении учетными записями пользователей
Второй способ — использовать окно управления учетными записями пользователей, открыть которое можно так: нажмите клавиши Win+R на клавиатуре и введите в него control userpasswords2 после чего нажмите Enter.

В открывшемся окне выберите пользователя, которого нужно удалить, а затем нажмите кнопку «Удалить».

Если при этом вы получите сообщение об ошибке и о том, что пользователь не может быть удален, это обычно говорит о попытке удаления встроенной системной учетной записи, о которых — в соответствующем разделе этой статьи.
Как удалить пользователя с помощью командной строки
Следующий вариант: использовать командную строку, которую следует запустить от имени администратора (в Windows 10 это можно сделать через меню правого клика по кнопке «Пуск»), а затем использовать команды (нажимая Enter после каждой):

- net users (выдаст список имен пользователей, активных и нет. Вводим для проверки того, что правильно помним имя пользователя, которого нужно удалить). Внимание: не удаляйте таким образом встроенные учетные записи Администратор, Гость, DefaultAccount и defaultuser.
- net user Имя_пользователя /delete (команда удалит пользователя с указанным именем. Если имя содержит проблемы, используйте кавычки, как на скриншоте).
Если команда была выполнена успешно, пользователь будет удален из системы.
Как удалить встроенные учетные записи Администратор, Гость или другие
Для того, чтобы сделать это, выполните два простых шага:

- Запустите командную строку от имени администратора (клавиши Win+X, затем выбрать нужный пункт меню) и введите следующую команду
- net user Имя_пользователя /active:no
После выполнения команды, указанный пользователь будет отключен и исчезнет в окне входа в Windows 10 и из списка учетных записей.
Два одинаковых пользователя Windows 10
Один из распространенных багов в Windows 10, который заставляет искать способы удаления пользователей — отображение при входе в систему двух учетных записей с одинаковыми именами.
Чаще всего срабатывающее решение, позволяющее убрать дубликат пользователя, выглядит так:
- Нажать клавиши Win+R и ввести control userpasswords2
- Выбрать пользователя и включить запрос пароля для него, применить настройки.
- Перезагрузить компьютер.
После этого можно снова убрать запрос пароля, но второй пользователь с таким же именем снова появиться не должен.
Постарался учесть все возможные варианты и контексты необходимости удаления учетных записей Windows 10, но если вдруг решения для вашей проблемы здесь не нашлось — опишите ее в комментариях, возможно, мне удастся помочь.
А вдруг и это будет интересно:
- Лучшие бесплатные программы для Windows
- Некоторые параметры задает системный администратор в параметрах электропитания — как исправить?
- Как удалить Галерею в Windows 11
- Диск разработки в Windows 11
- DISM Ошибка 50 — причины и варианты решения
- PhoneExperienceHost.exe — что это и как отключить?
- Windows 11
- Windows 10
- Android
- Загрузочная флешка
- Лечение вирусов
- Восстановление данных
- Установка с флешки
- Настройка роутера
- Всё про Windows
- В контакте
- Одноклассники
-
Григорий 14.10.2020 в 18:18
- Dmitry 15.10.2020 в 12:21
- Григорий 15.10.2020 в 20:22
- Dmitry 16.10.2020 в 12:46
Как удалить профиль пользователя в Windows 10

При добавлении новой учетной записи в Windows – автоматически создается профиль для учетной записи, который содержит различные ваши настройки для этого пользователя. Все эти настройки профиля хранятся в папке с именем созданного вами пользователя на локальном диске С:\ в папке “Пользователи” (C:\Users\). В сегодняшней статье мы покажем как удалить профиль настроек пользователя без удаления самой учетной записи.
Очень часто начинают лезть ошибки системы, а разобраться в них не выходит долгое время, а если входишь в систему под другим пользователем – всё работает как часы. Можно конечно, ковыряться и дальше в настройках профиля пользователя, искать корень проблемы, а можно – сохранить всё нужное с папки профиля => удалить эту папку и создать профиль пользователя заново. Своего рода сброс настроек профиля учетной записи. В папке профиля хранятся настройки браузеров, заставки системы, настройки других программ, рабочий стол, документы и т.д. Желательно, перед удалением скопировать папку и по надобности вытянуть нужное. Вы не можете удалить профиль пользователя под которым вошли в систему, сначала нужно создать другую учетную запись с правами администратора или включить встроенную, после чего зайти под ней и удалить профиль нужного пользователя. Также данная статья будет интересна тем, у кого на компьютере ранее было много пользователей и сейчас от них остался хлам.
Делаем копию папки профиля пользователя.
1.Открываем проводник, заходим на диск С:\ в папку “Пользователи” => нажимаем на учетную запись (профиль которой вы собираетесь удалить) правой клавишей мыши и выбираем “Копировать”;

2.Выбираем любой диск и любую папку в которую можно вставить копию (в нашем примере будем делать копию на диск D) => нажимаем в пустом месте данного диска или папки правой клавишей мыши и выбираем “Вставить”.


По окончанию копирования – копия профиля пользователя будет создана, теперь можно удалять
Удаляем профиль пользователя. (Первый способ)
1.Как уже говорилось выше, нужно зайти в Windows под другой учетной записью с правами администратора. Создайте нового пользователя с правами администратора или проще временно включите встроенную учетную запись администратора, и зайдите в систему под ней;

2. В строке поиска напишите SystemPropertiesAdvanced и нажмите Enter (вместо этого можно зайти в проводник => нажать на “этот компьютер” в левой панели правой клавишей мыши и выбрать “Свойства” => в открывшемся окне на левой панели выбрать “Дополнительные параметры системы”);

3. Во вкладке “Дополнительно” возле “Профили пользователей” нажмите на “Параметры”;

4.Левой клавишей мыши нажимаем на пользователя, которого хотим удалить (чтобы выделить учетную запись) и нажимаем ниже “Удалить”;

5.Подтверждаете удаление профиля нажав на “Да”;

Профиль выбранной вами учетной записи был удален, можете закрывать “Профили пользователей”. Теперь когда вы зайдете в систему Windows под учетной записью профиль которой удалили – профиль для нее будет заново создан с новыми настройками.
Удаляем профиль пользователя. (Второй способ).
В этом способе будем удалять профиль пользователя через проводник и реестр. Перед работой с реестром всегда рекомендуется создавать точку для восстановления системы.
1.Выполните первый пункт из способа выше. Теперь открываем редактор реестра: один из способов – в строке поиска написать regedit и выбрать его из найденных результатов;

2.В левой колонке нужно перейти к разделу HKEY_LOCAL_MACHINE \SOFTWARE \Microsoft \Windows NT \CurrentVersion \ProfileList Когда вы отроете раздел ProfileList (нажав на стрелку рядом) то в нём каждый раздел будет означать какого-то пользователя, нажмите на любой раздел и в правой колонке в параметре ProfileImagePath увидите путь к профилю.

3. В моем примере имя пользователя, профиль которого нужно удалить aserg, в разделе ProfileList выбираем каждый раздел по очереди, когда в параметре ProfileImagePath найдем aserg – это тот раздел, который отвечает за эту учетную запись. Нажимаем на него правой клавишей мыши и из открывшегося меню выбираем “Удалить”;

4.Подтверждаете удаление выбранного профиля, нажав на “Да” и закрываем редактор реестра;

5.Открываем проводник => заходим на диск С:\ в папку Пользователи (C:\Users\) => нажимаем на папку профиля пользователя, которого вы собрались удалить, правой клавишей мыши и из открывшегося меню выбираем “Удалить”;

6.Подтверждаем удаление нажав на “Да”, во время удаления папки профиля может появится запросу удаления несколько раз, всегда нажимайте “Да”;

7.В идеале папка полностью удалится, если удалилась не полностью – перезагрузите компьютер, снова зайдите на диск С:\ в папку Пользователи и выберите удалить папку профиля.

Всё профиль пользователя был удален, теперь когда вы зайдете под данным пользователем еще раз в систему – профиль с настройками для него будет заново создан. На сегодня всё, если есть дополнения – пишите комментарии! Удачи Вам
Sa: Разнорабочий в области IT. Занимается поддержкой пользователей, сопровождением программного обеспечения.
