Администраторы время от времени должны удалять старые профили пользователей (уволенные пользователи, неактивные пользователи, и т.д.) в каталоге 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()}
This article describes how to add and remove local users on Windows Server® 2012, 2012 R2, 2016, and 2019.
-
Log in to the server from which you are removing the user.
-
To access Local users and groups:
- Click Start > Run.
- Enter lusrmgr.msc in the box and click OK.
- Alternatively, you can use Windows search to search for Local Users and Groups.
-
In the console, double click on Users, and a list of users displays on the right.
-
Click More Actions and select New User.
-
At a minimum, enter a username, a new password, and confirm that password. You should also enter the name under
Full Name and a description of the account in the Description field.- To allow users to set their password, check the User must change password at next login box. Otherwise, uncheck it.
- To prevent the user from setting a new password, check the User cannot change password box. You cannot select this
if you have checked User must change password at next login. - If you are creating the user but the user should not yet have login rights, check the Account is disabled box. You
can undo this when you want. - Optionally, you can set the password to never expire by checking the Password never expires box. However, you should
rarely use this option because aged passwords pose a security risk.
-
After you fill out the form, click Create to save the new user and close the New User dialog. The newly created
user now shows in the list of users.
-
Right-click on the user that you want to delete.
-
Click Delete.
-
Click Yes to confirm when the warning prompt that the deletion can’t be undone displays.
Warning: If the user is associated with any services, those services might stop functioning after the user is deleted.
You can disable, instead of deleting, a user to avoid any issues.
Use the Feedback tab to make any comments or ask questions. You can also start a conversation with us.
Updated over 1 year ago
Active Directory User Management – Create User Account & Delete User Account
In this article, we’ll learn the steps to create User Accounts and steps to delete user accounts. User IDs are like the logon accounts that we create, in domain environment logon accounts are created on Domain Controller and in Workgroup accounts are created on local machines. Logon account created on Domain Controller can be used to logon to any computer that is part of the same domain. However User account created on workgroup machine can be used to logon to same machine, on which it is created and cannot be used to logon to any other machine.
1. Click on Start button and click on Administrative Tools.
2. From “Administrative Tools” select “Active Directory Users and Computers”.
3. In the console we’ll see all the Containers and Organizational Units. Select Users, it will show all the default users and groups that are created by default.
4. Right click on Users container. Select New, click on User.
5. New Object console will open. Type First name, Last name, Full name and logon name. Logon name is very important, it will be used to login to computers. In this practical, ABC.COM is a domain name. Click next.
6. In this window, type the Password used to login to Computer in Password and Confirm password fields. In addition to that there are certain options that you can select as per your requirement.
Must change password at next logon: This option will force to change the password when they first logon.
Cannot change password: User will not be able to change the password and will be forced to use the password set by Administrator
Password never expires: Normally in organization we use the policy of changing the password after few days. Once the password is expired, it will force to change the password. Password would not expire and will not force to change the password.
Accound is disabled: Account will be created by it will be disabled i.e. user will not be able to login until the account is enabled.
7. This window will show the detail of object that we are about to create. Click on back button if any changes are required else click on Finish button.
8. We can verify if the user is created or not.
How to delete user account in Windows Server 2012 R2- Domain Controller
1. Follow steps 1 to 3 from the create user in Windows Server section.
2. Select the user that you want to delete. Right click the object and select “Delete”.
3. A pop-up window will open ask the confirmation to delete the account. Click on Yes if you want to process with user account deletion.
In this post we only talked about the GUI mode to create and delete an account but you can also manage users from command prompt and PowerShell command.
Обновлено 15.06.2019
Добрый день! Уважаемые читатели IT блога pyatilistnik.org. Сегодня, хочу добавить в копилку статей про терминальные и RDS фермы, еще одну публикацию, которая поможет вам решать проблему, при которой пользователь не может попасть на рабочий стол удаленного компьютера и, где после авторизации на серверах посредниках (Connection Brokers) он получает ошибку: Службе «Служба профилей пользователя» не удалось войти в систему. Невозможно загрузить профиль пользователя. Давайте я покажу, что можно сделать в этой ситуации и решить ее с минимальными последствиями. Описанные ниже методы помогут решить проблему, как на серверных версиях Windows с 2008 R2 до Windows Server 2016, так и клиентских, например, Windows 10.
Описание проблемы с временным профиле
Пользователь подключается к удаленному рабочему столу, и после ввода логина с паролем, видит сообщение:
Службе «Служба профилей пользователя» не удалось войти в систему. Невозможно загрузить профиль пользователя.
Как происходит формирование профиля на терминальном сервере
Прежде, чем мы начнем решать ошибку с невозможностью загрузить профиль пользователя windows, я бы хотел напомнить схему, как работает подключение к терминальной ферме Windows Server 2012 R2-16.
И так, у вас есть клиенты, например, на Windows 10 1803, они с помощью встроенного клиента, для подключения к удаленному рабочему столу (mstsc), подключаются по DNS имени, к адресу терминальной фермы, в которую может входить большое количество серверов. Первым на пути подключения, пользователя встречает сервер с ролью «Посредник подключений (Connection Broker)». В его задачи входит авторизовать пользователя и направить его на хост узла сеансов (RDSH) по правилу балансировки.
Далее пользователь начинает проходить авторизацию на узле сеансов (RDSH), это сервер на котором установлены все приложения для пользователя. Если пользователь заходит первый раз на данный хост, то ему создается его профиль, если он перемещаемый, то начинается его загрузка по сети. В любом случае пользовательский профиль, первый раз создается из профиля по умолчанию (Дефолтового) к которому потом добавляются дополнительные настройки текущего пользователя. Данный профиль лежит в папке C:UsersDefault. Проблемы с его повреждением, давали в Windows 7, ошибку «Служба профилей пользователей препятствует входу в систему»
Профиль пользователя по умолчанию — это профиль шаблона для всех созданных пользователей. Всякий раз, когда вы создаете новый профиль пользователя, профиль создается на основе профиля пользователя по умолчанию. Думаю, вы освежили в памяти алгоритм работы RDS фермы. Из всего этого вытекает термин:
Временный профиль — это профиль, который назначается пользователю по ряду причин связанных с настройкой и работой операционной системой, сетью и многими другими факторами, наличие временного профиля говорит, о том, что пользователь не видит своего привычного окружение, настроек, данных и не может полноценно работать.
Анализ логов при временном профиле
Симптомы ошибки:
- Создается дополнительная папка профиля пользователя. К имени этой папки добавляется имя домена NetBIOS или трехзначный суффикс. Например, имя папки — Username.ROOT или Username.000.
- Если у пользователя есть перемещаемый профиль, некоторые приложения, использующие пути «Папки оболочки» в реестре, перестают отвечать. Кроме того, когда пользователь выходит из компьютера, изменения в данных приложения, которые хранятся в профиле пользователя, не перемещаются в базу данных домена.
Когда вы откроете журналы событий, то вы можете обнаружить вот такие события в журнале «Приложение»:
Предупреждение с кодом ID 1509: Windows не удается скопировать файл \?UNCroot.pyatilistnik.orgrootBoyWINDOWSwin.ini в расположение \?C:UsersBoyWINDOWSwin.ini. Возможная причина — сетевые проблемы или недостаточные права безопасности. ПОДРОБНО — Отказано в доступе.
Предупреждение с кодом ID 1534: Слишком много ошибок при копировании профиля. Для получения более подробных сведений просмотрите предыдущие события. Windows не будет записывать в журнал никаких дополнительных ошибок копирования для этого процесса копирования.
Ошибка ID 1533, источник User Profile Service: Не удается удалить папку профилей C:UsersBoy. Возможная причина — файлы этой папки используются другой программой. ПОДРОБНО — Папка не пуста.
Ошибка с кодом ID 1511, источник User Profile Service: Windows не удалось найти локальный профиль пользователя, вход в систему выполнен с временным профилем. Любые изменения профиля будут потеряны при выходе.
Более детально, что происходит на терминальном сервере в момент входа пользователя, можно проследить в журнале Microsoft-Windows-User Profile Service/Operational. При входе на терминальный стол формируется событие с кодом ID 1: Получено уведомление о входе пользователя для сеанса 151. Тут сразу можно увидеть нужный ID пользователя, чтобы потом найти его процессы и PID.
Далее идет событие с кодом ID 64: Отношение к основному компьютеру не было проверено для этого компьютера и этого пользователя. Причина: running as a terminal server farm.
Далее начинается попытка синхронизации перемещаемого профиля в событии ID 6.
Видим. что синхронизация завершена не полностью: Событие с кодом ID 7: Завершена синхронизация профиля \root.pyatilistnik.orgrootBoy с C:UsersBoy
Результат: Запрос ReadProcessMemory или WriteProcessMemory был выполнен только частично.
Видим, что ему создался временный TEMP профиль, а так же видно его SID:
Событие с кодом ID 5: Файл реестра C:UsersTEMP.003ntuser.dat загружен в HKUS-1-5-21-551888299-3078463796-3314076131-11105.
ну и событие ID 67 нам говорит, что мы вошли с временным профилем: Тип входа: RDS Расположение локального профиля: C:UsersTEMP.003 Тип профиля: Temporary
Почему невозможно загрузить профиль пользователя
И так, какие причины вызывают сообщение, что службе «Служба профилей пользователя» не удалось войти в систему:
- Поврежден профиль пользователя, локальный или перемещаемый
- Глюк антивируса, видел случаи, что когда пользователь пытался попасть на удаленный рабочий стол, в момент авторизации антивирус, производил сканирование, которое вызывало ошибку с загрузкой профиля юзера.
- Поврежден реестр Windows
- Проблемы с правами на профиль пользователя по умолчанию
Ниже я опишу подробно, что нужно делать в каждом из описанных выше пунктов.
Небольшое отступление, описанные тут методы, помогут решить проблему, когда пользователю приходится производить вход в систему с временным профилем
Решаем ошибку с загрузкой профиля пользователя
- Перезагрузка — как бы это банально не звучало, но в большинстве случаев помогает перезагрузка, в случае с обычным компьютером это проблем не вызывает, а вот уже с терминальным сервером, это сложнее, так как на нем работают многие пользователи. Что могу посоветовать, если есть возможность, то закройте новые подключения к нему, а вечером его перезагрузите, а пользователь по возможности пусть поработает за другим хостом RDSH.
- Если перезагрузка не помогла и юзер при входе видит, что невозможно загрузить профиль пользователя, то пробуем при наличии антивируса отключить его на время и проверить. Если это эффекта не дало, то вам необходимо удалить темповый профиль пользователя и произвести оптимизацию реестра.
Очень часто в виду ошибок реестра Windows, операционная система может создать временный профиль пользователю или создать его с ошибкой, в результате чего, он не сможет залогиниться. Та же проблема может быть и с перемещаемыми профилями. У меня в организации, рабочий стол и папка мои документа у пользователя перемещаются и хранятся на сервере, и я очень часто вижу такую проблему. Я из нее выхожу таким методом.
Захожу на сервер под собой, для этого я подключаюсь к нужной мне ноде RDS фермы. После чего я переименовываю папку с профилем пользователя, добавляю префикс _old. Все данные пользователя в ней сохраняются. После чего пользователь пытается залогиниться на терминальную ферму, и если у него все хорошо, и его профиль успешно создается и загружается, я ему копирую его данные.
Остается один процент, когда простое переименовывание не помогает и службе профилей пользователя все так же не удалось войти в систему и невозможно загрузить профиль пользователя. В таких случаях на самом сервере может сохраниться временный кэш или может быть повреждена учетная запись по умолчанию (C:UsersDefault).
- Первым делом проверьте наличие в папке пользователей (Users) наличие папок с названием TEMP и, что-то там, по сути это временный профиль, из приведенных выше событий журнала Windows вы можете понять кто в нем работает или же методом из реестра Windows, который я опишу ниже. Посмотрите у него дату создания, в большинстве случаев она будет совпадать с той, когда у пользователя начались проблемы. Теперь просто удаляем эту папку (обязательно проверьте нет ли там нужных файлов, актуально для перемещаемых папок в профиле). Если возникнут проблемы, с удалением и она напишет, что удалить ее не получается, то воспользуйтесь инструкцией по удалению папок и файлов в заблокированном виде. Обратите там на утилиту Unlocker или посмотрите кто блокирует данные файлы, если пользователь с ними работает то просим его выйти из системы , сохранить при необходимости файлы и попытаться удалить папку временного профиля, но это еще не все нужно вычистить ветку реестра ссылающуюся на данный профиль.
Еще раз напоминаю зайти и проверить наличие важных данных в профиле, в моем случае был только ярлык с рабочего стола
После этого, можете еще проверить реестр на ошибки и исправить их, чтобы не осталось в нем старых хвостов от временных профилей, да и просто убрать старый хлам, например у меня на данном хосте было свыше 1000 ошибок.
- Если это не помогло, то вы можете еще попробовать заменить дефолтовый профиль, который располагается в папке C:UsersDefault. Для этого возьмите эту папку с рабочего сервера, той же редакции операционной системы и замените его на сбойный, это должно окончательно решить проблему с невозможностью загрузить профиль пользователя. Если вы знаете еще какие либо методы, то просьба поделиться ими в комментариях.
- По мимо оптимизации реестра, вам еще необходимо удалить битую ветку, которая и направляет доменного пользователя Active Directory на временный профиль. Откройте редактор реестра и перейдите в раздел:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList
Тут вы обнаружите список всех профилей имеющихся в системе, но они будут иметь в названии SID номер (Как узнать SID пользователя я уже рассказывал), но если их не много, то вы можете просто пробежаться по каждой из папок и посмотреть в ключе CentralProfile его значение, там вы увидите в случае с перемещаемыми профилями, кому он принадлежит.
далее тут два варианта, первый это полное удаление папки пользователя в данном разделе реестра, так советуют и в Microsoft
Перед удалением можете сделать выгрузку его для резервной копии или же можете просто его переименовать как вариант .если боитесь удалять
или вариант, что вы можете попробовать в ключе ProfileImagePath прописать правильный путь до профиля пользователя.
Лучше удалять, по свое практике. Правильно делаем выход пользователя с данного сервера. После чего еще раз проверяем, что папка с его временным профилем удалена, если вы ее до этого не удаляли в виду того, что она заблокирована, то сейчас можно сделать. Теперь когда сотрудник зайдет на удаленный рабочий стол, у него будет создан новый профиль и его данные будут перемещены с вашего сервера, если у вас перемещаемые профили. Когда у вас сервер будет в режиме обслуживания пробегитесь по данной ветке реестра и посмотрите все ключи реестра ссылающиеся на временные профили и удалите их, чтобы люди не получали временные профили.
В некоторых случаях, все же приходится перезагрузить терминальный стол после удаления веток реестра
Еще на одном из блогов я нашел совет автора, который рассматривал удаление из ветки реестра
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileGUIDSID пользователя, который мы находили выше
Еще бывают ситуации, что в реестре создается дублирующая ветка с именем SID пользователя, но на конце у нее добавляется слово bak, означающее бэкап. В таком случае, можно удалить ветку реестра без слова bak на конце, а вот ветку реестра с bak переименовать, удалим на конце bak, тем самым восстановив нормальную ветку реестра для нужного пользователя.
Проверка файловой системы на повреждения
Очень часто в операционных системах Windows, ошибки реестра и временные профили могут быть следствием того, что повреждены некоторые системные файлы, чтобы их проверить и исправить вам нужно открыть командную строку от имени администратора и ввести три команды по очереди, после каждой дождаться результата.
sfc /scannow после Dism /online /cleanup-image /restorehealth и затем ChkDsk /r
Как видите в моем случае, утилиты смогли найти повреждения и восстановить их.
Еще одной из причин была ситуация в Windows Server 2008 R2 или Windows 7: Эта проблема возникает из-за состязания между службой профилей пользователей (Profsvc.dll) и службой поиска Windows (SearchIndexer.exe). Служба профилей пользователей размещается в экземпляре Svchost.exe. Когда применяется параметр групповой политики, служба профилей пользователей выполняет поиск в папке профиля пользователя, чтобы рекурсивно удалить содержимое. Однако служба поиска Windows может попытаться проверить содержимое папки одновременно. Таким образом возникает ситуация взаимоблокировки, и вы сталкиваетесь с проблемами, описанными в разделе «Проблема». Компания Microsoft выпускала обновление, которое создает две записи реестра в следующем разделе реестра:
DeleteRetryWait 1000 Интервал (измеряется в миллисекундах) между попытками удаления папки профиля пользователя в случае неудачного удаления
DeleteRetryAttempts 15 Максимальное количество попыток удаления
На форуме Microsoft я наткнулся на одно обсуждение, где для ремонта профиля предлагалось использовать утилиту Reprofier.
Вот так выглядит интерфейс Reprofier, очень удобно для локальных профилей, которые подвергнулись повреждению.
Дополнительный анализ поврежденных. временных профилей
Еще я вам советую включить отладочный журнал, для поиска проблем с временными профилями на терминальной ферме. Для этого откройте просмотр событий и перейдите в журнал «Microsoft-Windows-User Profile Service/». Нажмите «Вид — Отобразить аналитический и отладочный журналы«.
У вас отобразиться новый скрытый журнал «Diagnostiс» тут вы можете отследить дополнительные события, которые смогут вам помочь, например события с кодом ID 1001, 1002, 1003, 1004, 1005 и 1006.
Создание и декодирование трассировки
В случае, если другие шаги вам не сильно помогут; это будет последний шаг, который вы можете сделать. Он включает в себя использование Windows PowerShell для создания и декодирования трассировки.Сначала войдите на компьютер, используя учетную запись администратора.
Затем вам нужно открыть окно PowerShell с повышенными правами перейти в расположение ранее созданной папки, пусть это будет C:Temp. Введите следующие команды в окне командной строки:
logman create trace -n RUP -o RUP.etl -ets
logman update RUP -p {eb7428f5-ab1f-4322-a4cc-1f1a9b2c5e98} 0x7FFFFFFF 0x7 -ets
Теперь на компьютер должен зайти пользователь испытывающий проблемы. Убедитесь, что вы НЕ выходите из этой учетной записи. Воспроизведите ту же проблему. После этого снова войдите в систему как локальный администратор. Введите следующие команды в окне командной строки, чтобы сохранить захваченный журнал в файл формата ETL,
Теперь, наконец, чтобы сделать его читабельным, введите следующую команду:
Здесь путь будет указывать расположение читаемого файла.Теперь вы можете открыть файл журнала Summary.txt или Dumpfile.xml, чтобы читать журналы, используя Блокнот или Microsoft Excel соответственно. На этом у меня все, я постарался развернуто описать решение с временными профилями на терминальной ферме и локальных компьютерах. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Дополнительная литература:
- https://www.itsmdaily.com/easy-how-to-fix-temporary-profile-in-microsoft-windows-and-microsoft-server/
- https://social.technet.microsoft.com/Forums/lync/en-US/2309e2e5-ca3f-499f-856c-395ffa23b8ce/remote-desktop-user-getting-locked-into-a-temp-profile-each-time-she-logs-in?forum=winserverTS
- https://support.microsoft.com/ru-ru/help/2661663/stale-user-profile-folders-are-not-deleted-completely-in-windows-7-or
- http://www.eventid.net/display-eventid-1533-source-User%20Profile%20Service-eventno-10628-phase-1.htm
- https://www.c-sharpcorner.com/UploadFile/shyjumohan/fix-corrupt-user-profile-temp-profile-in-windows-server-20/
- https://social.technet.microsoft.com/Forums/windows/en-US/e492a389-0f70-420b-9d1e-2a286beac698/event-id-1542-user-profile-service-and-missing-classes-root-key?forum=w7itproinstall
- https://www.thewindowsclub.com/user-profile-service-event-ids
Одна из проблем, с которой часто сталкиваются пользователи — сообщение о том, что вы вошли в систему с временным профилем в Windows 10, 8 и Windows 7 с дополнительным текстом «Вы не можете получить доступ к своим файлам, и файлы, созданные в этом профиле, будут удалены при выходе из системы». В этой инструкции подробно о том, как исправить эту ошибку и войти с обычным профилем.
В большинстве случаев, проблема возникает после изменения (переименования) или удаления папки профиля пользователя, однако это не единственная причина. Важно: если у вас проблема возникла именно из-за переименования папки пользователя (в проводнике), то верните ей первоначальное имя, а затем прочтите: Как переименовать папку пользователя Windows 10 (для предыдущих версия ОС то же самое).
Примечание: в этой инструкции приведены решения для рядового пользователя и домашнего компьютера с Windows 10 — Windows 7, не находящегося в домене. Если вы управляете учетными записями AD (Active Directory) в Windows Sever, то тут я деталей не знаю и экспериментировать не доводилось, но обратите внимание на сценарии входа в систему или просто удалите профиль на компьютере и снова зайдите в домен.
Сначала об исправлении «Вы вошли в систему с временным профилем» в Windows 10 и 8, а в следующем разделе инструкции — отдельно по Windows 7 (хотя и описываемый здесь способ тоже должен работать). Также, при входе с временным профилем в Windows 10 вы можете видеть уведомления «Стандартное приложение сброшено. Приложение вызвало проблему с настройкой стандартного приложения для файлов, поэтому оно сброшено».
Прежде всего, для всех последующих действий потребуется иметь учетную запись администратора. Если до появления ошибки «Вы вошли с временным профилем» ваша учетная запись имела такие права, то имеет и сейчас, и можно продолжать.
Если же у вас была учетная запись простого пользователя, то выполнять действия придется либо под другой учеткой (администратора), либо зайти в безопасный режим с поддержкой командной строки, активировать скрытую учетную запись администратора, а затем из неё выполнять все действия.
- Запустите редактор реестра (нажмите клавиши Win+R, введите regedit и нажмите Enter)
- Раскройте раздел (слева) HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion ProfileList и обратите внимание на наличие в нем подраздела с .bak в конце, выберите его.
- В правой части посмотрите на значение ProfileImagePath и проверьте, совпадает ли имя папки пользователя, указанное там с именем папки пользователя в C:Пользователи (C:Users).
Далее действия будут зависеть от того, что у вас получилось в пункте 3. Если имя папки не совпадает:
- Дважды кликните по значению ProfileImagePath и измените его так, чтобы в нем был правильный путь к папке.
- Если в разделах слева есть раздел точно с таким же именем, как текущий, но без .bak, кликните по нему правой кнопкой мыши и выберите «Удалить».
- Кликните правой кнопкой мыши по разделу с .bak на конце, выберите пункт «Переименовать» и уберите .bak.
- Закройте редактор реестра, перезагрузите компьютер и попробуйте зайти под тем профилем, где была ошибка.
Если путь к папке в ProfileImagePath верный:
- Если в левой части редактора реестра присутствует раздел с тем же именем (все цифры совпадают), что и раздел с .bak на конце, кликните по нему правой кнопкой мыши и выберите «Удалить». Подтвердите удаление.
- Кликните правой кнопкой мыши по разделу с .bak и также его удалите.
- Перезагрузите компьютер и попробуйте снова войти в поврежденную учетную запись — данные для нее в реестре должны будут создаться автоматически.
Далее способы, являющиеся удобными и быстрыми для исправления ошибки в 7-ке.
Исправление входа с временным профилем в Windows 7
По сути, это вариация способов, описанных выше, и, более того данный вариант должен сработать и для 10-ки, но опишу его отдельно:
- Войдите в систему под учетной записью администратора, отличающейся от той учетной записи, в которой есть проблема (например, под учеткой «Администратор» без пароля)
- Сохраните все данные из папки проблемного пользователя в другую папку (или переименуйте ее). Эта папка находится в C:Пользователи (Users) Имя_пользователя
- Запустите редактор реестра и перейдите к разделу HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion ProfileList
- Удалите в нем подраздел, заканчивающийся на .bak
- Закройте редактор реестра, перезагрузите компьютер и зайдите под учетной записью, с которой была проблема.
В описанном способе снова будет создана папка пользователя и соответствующая запись в реестре Windows 7. Из папки, в которую вы ранее копировали данные пользователя, вы можете вернуть их во вновь созданную папку, чтобы они оказались на своих местах.
Если же вдруг способы, описанные выше, не смогли помочь — оставляйте комментарий с описанием ситуации, постараюсь помочь.
Содержание
- Как удалить профиль пользователя в Windows 2012
- Как удалить профиль пользователя в Windows 2012
- Подготовка к удалению профиля пользователя
- Удаление профиля пользователя через панель управления
- Удаление профиля пользователя через папку «Пользователи»
- Удаление профиля пользователя через реестр
- Восстановление удаленного профиля пользователя (опционально)
Как удалить профиль пользователя в Windows 2012
Удаление профиля пользователя на Windows 2012 может быть необходимым по различным причинам. Например, если вам необходимо освободить место на диске или если нужно удалить учетную запись пользователя, которая больше не используется.
В этой статье мы рассмотрим подробный процесс удаления профиля пользователя на Windows 2012. Мы охватим все необходимые шаги и покажем, как это сделать безопасно и эффективно.
Прежде чем мы начнем, важно отметить, что для удаления профиля пользователя вам потребуются права администратора. Убедитесь, что вы вошли в систему под учетной записью администратора перед тем, как приступить к следующим шагам.
Первым шагом является открытие «Панели управления». Нажмите правой кнопкой мыши по кнопке «Пуск» и выберите «Панель управления» из контекстного меню.
В «Панели управления» найдите и выберите «Система и безопасность», а затем нажмите на «Система».
На открывшейся странице «Система» найдите и выберите вкладку «Дополнительные настройки системы».
В разделе «Профили пользователей» нажмите на кнопку «Настроить профили».
В открывшемся окне выберите профиль пользователя, который вы хотите удалить, и нажмите на кнопку «Удалить профиль».
При удалении профиля у вас будет возможность сохранить файлы пользователя на компьютере. Если вы хотите сохранить файлы, выберите соответствующую опцию и нажмите «ОК». В противном случае, нажмите «Удалить» для окончательного удаления профиля пользователя.
После завершения процесса удаления профиля пользователь больше не будет виден в списке доступных учетных записей на вашей системе.
Теперь вы знаете, как удалить профиль пользователя на Windows 2012. Следуйте этому простому руководству и безопасно освободите место на вашем компьютере или удалите неиспользуемую учетную запись пользователя.
Удачного вам удаления профиля!
Как удалить профиль пользователя в Windows 2012
В операционной системе Windows 2012 есть несколько способов удаления профиля пользователя. Это может быть полезным в случае, когда пользователь больше не нуждается в доступе к системе или когда требуется очистить место на диске.
Первый способ — удаление профиля через интерфейс системы. Для этого откройте «Мой компьютер», щелкните правой кнопкой мыши на значок «Свойства» и выберите «Дополнительные параметры системы». В открывшемся окне выберите вкладку «Дополнительно» и нажмите на кнопку «Настройка» в разделе «Профили пользователей». Затем выберите нужный профиль и нажмите на кнопку «Удалить». После подтверждения удаления профиль будет удален из системы.
Второй способ — удаление профиля через командную строку. Для этого откройте командную строку с правами администратора, введите команду «net user Логин /delete». Вместо «Логин» укажите имя пользователя, которое хотите удалить. После выполнения данной команды профиль пользователя будет удален с системы.
Будьте осторожны при удалении профиля пользователя, так как это приведет к удалению всех данных, связанных с этим профилем, включая документы, настройки и приложения. Предварительно сделайте резервную копию всех необходимых данных, чтобы избежать потери информации.
Подготовка к удалению профиля пользователя
Периодически возникает необходимость удалить профиль пользователя на операционной системе Windows 2012. Это может быть вызвано различными причинами, такими как перестановка рабочих мест, изменение доступа к определенным ресурсам или просто необходимость освободить место на диске. Однако перед удалением профиля пользователя, важно подготовиться к этому процессу, чтобы избежать потери данных и проблем с доступом.
Создайте резервную копию данных: Перед тем как удалить профиль пользователя, рекомендуется создать резервную копию всех данных, связанных с этим профилем. Это может включать в себя документы, загрузки, избранные элементы, сохраненные пароли и другие важные файлы. Резервная копия позволит восстановить данные в случае их потери или ошибок при удалении профиля.
Проверьте доступ к ресурсам: Перед удалением профиля пользователя, важно убедиться, что у него нет открытых сетевых подключений или доступа к разделяемым ресурсам. В противном случае, удаление профиля может привести к потере соединения или другим проблемам в работе сети. Проверьте все открытые приложения и учетные записи пользователя, чтобы убедиться, что они закрыты или перенесены на другие учетные записи.
Отключите профиль пользователя: Перед удалением профиля пользователя, необходимо убедиться, что все процессы и приложения, связанные с этим профилем, завершены или перенесены на другие учетные записи. Отключение профиля пользователя позволит избежать ошибок и конфликтов при удалении. Используйте соответствующую административную учетную запись, чтобы отключить профиль пользователя и проверьте, что все его процессы завершены.
- Создайте резервную копию данных пользователя.
- Проверьте доступ к сетевым ресурсам и соединениям.
- Отключите профиль пользователя.
Следуя этим рекомендациям, вы сможете предотвратить проблемы и потерю данных при удалении профиля пользователя на операционной системе Windows 2012. Помните, что подготовка к удалению профиля является важным шагом, который поможет избежать непредвиденных проблем в будущем.
Удаление профиля пользователя через панель управления
Удаление профиля пользователя в операционной системе Windows Server 2012 может быть осуществлено через панель управления. Это может быть полезно в случае, когда нет необходимости сохранять данные пользователя или когда требуется освободить место на жестком диске.
Шаги для удаления профиля пользователя через панель управления следующие:
- Откройте панель управления, нажав на кнопку «Пуск», а затем выбрав «Панель управления».
- В панели управления найдите раздел «Пользователи» или «Учетные записи пользователей» и выберите соответствующий элемент меню.
- В открывшемся окне выберите имя пользователя, профиль которого необходимо удалить.
- Кликните правой кнопкой мыши на выбранном пользователе и выберите опцию «Удалить».
- Подтвердите удаление профиля пользователя, следуя инструкциям на экране.
После выполнения этих шагов профиль пользователя будет удален с операционной системы Windows Server 2012. Важно отметить, что при удалении профиля также будут удалены все связанные с ним данные, включая файлы, сохраненные на рабочем столе или в папке документов пользователя.
Удаление профиля пользователя через папку «Пользователи»
Полное удаление профиля пользователя из Windows Server 2012 может быть необходимым во многих ситуациях. Но для этого нужно знать, как правильно удалить профиль через папку «Пользователи». В этой статье я подробно расскажу, как это сделать.
С начала откройте проводник Windows и перейдите в раздел «Пользователи». Путь к нему выглядит так: C:\Пользователи. В этой папке содержатся профили всех зарегистрированных пользователей на сервере.
Найдите папку, соответствующую профилю пользователя, которого вы хотите удалить, и убедитесь, что у вас есть административные права для удаления этой папки.
Для удаления профиля пользователя просто удалите папку, соответствующую его имени. Однако перед удалением рекомендуется создать резервную копию всех необходимых данных, находящихся в этом профиле. После удаления профиля весь его содержимое будет безвозвратно удалено.
Когда вы удалили папку профиля пользователя, пользователь больше не будет иметь доступ к данным, находившимся в его профиле на сервере. Теперь вы можете безопасно удалить профиль пользователя через папку «Пользователи» в Windows Server 2012.
Удаление профиля пользователя через реестр
Прежде чем приступить к удалению профиля, необходимо создать резервную копию реестра Windows, чтобы в случае ошибки можно было восстановить систему. Копировать реестр можно с помощью инструментов, доступных в операционной системе или сторонних программ.
Чтобы удалить профиль пользователя через реестр, следуйте инструкциям ниже:
- Откройте редактор реестра, нажав комбинацию клавиш Win + R и введя команду «regedit».
- Перейдите к следующему пути: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList.
- В списке найдите папку с именем пользователя, которого вы хотите удалить, и щелкните на ней.
- Удалите папку пользователя, нажав клавишу «Delete».
- Подтвердите удаление папки, если система запросит подтверждение.
После удаления профиля пользователя через реестр необходимо перезагрузить компьютер, чтобы изменения вступили в силу. После перезагрузки вы больше не увидите удаленный профиль в списке пользователей.
Удаление профиля пользователя через реестр является эффективным способом освободить дисковое пространство и очистить систему от неиспользуемых аккаунтов. Убедитесь, что вы имеете административные права на компьютере, прежде чем начать процесс удаления профиля, и не забудьте создать резервную копию реестра, чтобы избежать потери данных.
Восстановление удаленного профиля пользователя (опционально)
Иногда случается, что администраторы системы ошибочно удаляют профиль пользователя в операционной системе Windows 2012. Это может произойти по множеству причин, включая неправильные настройки или случайные действия. К счастью, восстановление удаленного профиля пользователя возможно, хотя и опционально.
Первым шагом восстановления удаленного профиля пользователя является вход администратором в операционную систему Windows 2012. Затем администратор должен открыть меню «Панель управления» и выбрать вкладку «Система». В этом меню администратор должен выбрать «Дополнительные параметры системы» и открыть вкладку «Профили пользователей».
На вкладке «Профили пользователей» администратору будет предоставлен список всех пользователей, у которых есть профили в системе. Администратор должен найти удаленный профиль пользователя и выбрать его. Затем администратору следует нажать кнопку «Восстановить» и подтвердить свое действие.
После нажатия кнопки «Восстановить» Windows 2012 начнет восстанавливать удаленный профиль пользователя. Этот процесс может занять некоторое время, особенно если профиль пользователя содержит большой объем данных. По завершении процесса администратор будет оповещен об успешном восстановлении профиля и сможет увидеть его в списке профилей пользователей.
Важно отметить, что восстановление удаленного профиля пользователя является опциональным действием и может вызвать некоторые проблемы с доступом пользователя к его данным и настройкам. Поэтому рекомендуется предварительно создать резервную копию удаленного профиля пользователя, если это возможно.
В конце концов, восстановление удаленного профиля пользователя в операционной системе Windows 2012 может быть выполнено администратором, если он обладает нужными привилегиями. Хотя это действие является опциональным и может быть связано с некоторыми рисками и проблемами, оно помогает восстановить доступ пользователя к его профилю и восстановить данные и настройки пользователя.