В Windows 10/11 и Windows Server 2019/2016/2012R2 на экране входа в систему (logon screen, экран приветствия) по-умолчанию отображается только учетная запись последнего пользователя, который логинился на компьютере. Вы можете настроить различное поведение этой функции на экране приветствия: можно показать имя пользователя, скрыть его или даже вывести список всех локальных или активных доменных пользователей компьютера (сервера).
Как скрыть имя последнего пользователя на экране приветствия Windows?
Конечным пользователям удобно, когда на экране входа в Windows отображается имя учетной записи и его не нужно набирать вручную. Но это облегчает задачу злоумышленнику, получившему доступ к компьютеру. Для входа в систему ему нужно только подобрать правильный пароль. Для этого есть различные способы социальной инженерии, брутфорса или банального приклеенного листочка с паролем на мониторе.
Вы можете отключить отображение имени последнего пользователя на экране входа Windows через GPO. Откройте редактор доменных
(gpmc.msc
) или локальных политик (gpedit.msc) и перейдите в раздел Конфигурация компьютера -> Конфигурация Windows -> Параметры безопасности -> Локальные политики -> Параметры безопасности (Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options). Включите политику “Интерактивный вход в систему: Не отображать учетные данные последнего пользователя” (Interactive logon: Do not display last user name). По умолчанию эта политика отключена.
Имя пользователя также отображается на компьютере, если его экран заблокирован (нажатием Win+L или через GPO блокировки экрана). Вы можете скрыть имя пользователя на заблокированном компьютере. Для этого в этом же разделе GPO нужно включить политику “Интерактивный вход в систему: отображать сведения о пользователе, если сеанс заблокирован” (Interactive logon: Display user information when the session is locked) и выбрать значение “Не отображать сведения о пользователе” (Do not display user information).
Этой политике соответствует ключ реестра в той же ветке DontDisplayLockedUserId со значением 3.
- 1 — показывать отображаемое имя, домен и имя пользователя;
- 2 — показывать только отображаемое имя;
- 3 — не отображать сведения о пользователе.
Теперь на экране входа в компьютер и на экране блокировки Windows отображаются пустые поля для ввода имени пользователя и пароля.
Показать список всех локальных пользователей на экране входа в Windows
По умолчанию современные версии Windows (проверено на Windows 11 21H2 и Windows 10 21H1) всегда показывают список включенных локальных пользователей в левом нижнем углу. Не отображаются только скрытые (см. ниже) или отключенные пользователи.
Чтобы авторизоваться на компьютере, пользователю достаточно лишь щелкнуть по нужной учетной записи и указать ее пароль. Это работает только на компьютерах, не включенных в домен Active Directory.
Если список локальных пользователей не отображается на экране входа компьютере, проверьте настройки следующих локальных политик (в редакторе локальной GPO
gpedit.msc
должны быть заданы следующие политики).
- Interactive Logon: Do not display last signed-in =
Disabled
(Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options) - • Enumerate local users on domain-joined computers (Перечислить локальных пользователей на компьютерах, подключенных к домену) =
Enabled
(Computer Configuration -> Administrative Templates -> System -> Logon /Конфигурация компьютера -> Административные шаблоны -> Вход в систему) – политика позволяет вывести список локальных пользователей на доменных компьютерах - Do not enumerate connected users on domain-joined computer =
Disabled/Not Configured
(в этом же разделе GPO)
Перезагрузите компьютер, чтобы применить новые настройки групповых политик.
Чтобы показать список пользователей нужно в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch изменить значение параметра Enabled на 1. Эта опция разрешает сменить текущего пользователя на экране приветствия Windows 10. Однако при каждом входе Windows меняла значение этого параметра на 0.
Чтобы исправить эту проблему, нужно было создать задание планировщика, который при каждом входе менял значение параметра на 0.
Новое задание планировщика можно создать с помощью PowerShell.
$Trigger= New-ScheduledTaskTrigger -AtLogOn
$User= "NT AUTHORITY\SYSTEM"
$Action= New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch -Name Enabled -Value 1"
Register-ScheduledTask -TaskName "UserSwitch_Enable" -Trigger $Trigger -User $User -Action $Action -RunLevel Highest –Force
Убедитесь, что новое задание появилось в планировщике Windows (
taskschd.msc
).
Перезайдите под пользователем. Задание должно автоматически запуститься и изменить значение параметра реестра Enabled на 1. С помощью Get-ItemProperty проверьте текущее значение параметра. Как вы видите, оно равно единице:
get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch' -Name Enabled
Вывести список доменных пользователей на экране входа в Windows
Если одним компьютером пользуется несколько пользователей, вы можете отобразить на экране приветствия список пользователей с активными сессиями. Активная сессия подразумевает, что пользователи выполнили вход на компьютер. Это может быть общий компьютера (работает в режиме переключения пользователей), кассы, киоски, Windows Server RDS хосты или его аналоги на десктопных версия Windows 11 и 10).
Проверьте, что в разделе GPO Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options отключены политики:
- Interactive logon: Don’t display last signed-in: Disabled
- Interactive logon: Don’t display username at sign in: Disabled
Затем отключите политики в разделе Computer Configuration -> Administrative Templates -> System -> Logon:
- Block user from showing account details on sign-in: Disabled
- Do not enumerate connected users on domain-joined computer: Disabled
После этого на экране приветствия будет отображаться список пользователей, которые выполнили вход в систему. Здесь будут отображаться как активные сессии, так и сессии пользователей со статусом disconnected (например по RDP таймауту). Пользователю достаточно один раз выполнить вход, а после этого просто выбрать учетную запись из списка и ввести пароль.
rsop.msc
или gpresult.Как скрыть пользователя на экране приветствия Windows?
На экране входа в Windows всегда отображаются пользователи, которые входят в одну из следующих локальных групп: Администраторы, Пользователи, Опытные пользователи, Гости.
Однако вы можете скрыть определенных пользователей в списке на экране входа в систему через реестр. Для этого нужно создать ветку реестра
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
. Для каждого пользователя, которого вы хотите скрыть нужно создать DWORD параметр с именем пользователя и значением 0.
Список локальных пользователей можно вывести в PowerShell или cmd:
Net user
Или:
Get-LocalUser | where {$_.enabled –eq $true}
Чтобы скрыть определенного пользователя на экране приветствия Windows 11 или 10 (например, user1), выполните команду:
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" /t REG_DWORD /f /d 0 /v user1
Если на компьютере включен аккаунт встроенного администратора Windows, и это не единственный аккаунт с правами локального администратора на компьютере (!!!), вы можете скрыть его:
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" /t REG_DWORD /f /d 0 /v administrator
Если вы хотите скрыть всех пользователи, кроме последнего вошедшего на компьютер, настройте следующие параметры GPO в разделе Computer Configuration -> Administrative Templates -> System -> Logon:
- Enumerate local users on domain—joined computers =
Disabled
(Computer Configuration -> Administrative Templates -> System -> Logon /Конфигурация компьютера -> Административные шаблоны -> Вход в систему) – политика позволяет вывести список локальных пользователей на доменных компьютерах - Do not enumerate connected users on domain-joined computer =
Enabled
Windows 10 Pro 1607
Политика отключена, в реестр значение добавляется, комп в домене, всех пользователей не отображает. Захожу локальный админом, выхожу, захожу под доменной учеткой, локальный админ со списка пропадает. Короче не работает…
Такая же ситуация, как описал Владимир. Не работает.
Оно работает, если вы делаете быстрое переключение пользователей, а если выходите из учетки, то нет. То есть то, что нужно: чтобы при включении компьютера отображались все пользователи — не работает.
на другом сайте пишут, что работает, если у пользователей заданы пароли
работает только при Logon, при перезагрузки отображается только последний пользователь, пароли заданы у всех локальных пользователей, проверено
Комп не в домене — отображаются все незаблокированные учетки. При вводе в домен отображается только учетка последнего пользователя (без манипуляций в статье)
Есть ли возможность вывода на экран входа всех доменных пользователей, добавленных на пк?
Нет. Сами подумайте, нужно вывести всех пользователей домена? Зачем?
Имеет смысл выводить только пользователей с активными сессиями входа. В статье описано как это сделать.
А можно вывести не всех пользователей домена, а только тех, которые логинились на этом компьютере, чей профиль был создан на этой машине, которая в домене? Но не только активные сессии, а постоянно их выводить, подобно локальным.
Это было бы реально удобно для двух трёх работающих посменно людей за одним компьютером, чтобы они могли выключить компьютер, а регулярно сменяющих их сотрудник мог просто выбрать мышкой свой логин и ввести только свой пароль.
А то получается такая картина, был комп локальный, выбирали из списка и вводили пароль. Я ввёл комп в домен и мне как админу хорошо, а для и без того не шаристого пользователя прибавилось нужда запоминать ещё и логин.
Огромное человеческое спасибо за статью. Сбрутили у меня RDP. Пользователя под админом удалили из всех локальных политик. И еще все данные и все бэкапы удалили. Оставили ТХТ файлы куда обращаться..типа за деньги вернут. По умолчанию вход был только этим пользователем. Других учеток не было. Вот это было шоу. Ничего запустить нельзя, ни установить, ни удалить — везде выскакивал контроль учетных записей(UAC) без кнопки «ДА»(она вообще отсутствовала)(По умолчанию оказалась гостевой записью). На машине стоит сервер SQL — днем работать нельзя-торговля. И тут прилетает обновление Виндоуз — включается брэндмауэр и ЭСКУЭЛ сервер перестает работать в сети. Грузился с WinPE подключал ключи реестра(кусты) и правил значения. Только тут нашел как включить учетные записи на экране приветствия. Зашел под учеткой Администратор(но на экране приветсвия имя было такое же как и у пользователя). И уже потом все удалось сделать. Версия Win 1803.
В этом случае чтобы авторизоваться на компьютере, пользователю необходимо щелкнуть по нужной учетной записи и указать ее пароль.
А вопрос стоит о другом: как иметь две учетные записи (внимание) БЕЗ ПАРОЛЯ с возможностью на загрузочном экране Windows 10 выбора пользователя (как в Windows 7), без автоматического захода на последнего пользователя и выхода из его учетной записи, чтобы войти на свой рабочий стол?
В теории можно настроить так: отключаете автовход, выводите всех локальных пользователей на экране входа в систему, и в парольно политике (https://winitpro.ru/index.php/2018/10/26/politika-parolej-uchetnyx-zapisej-v-active-directory/) разрешаете пустые пароли: gpedit.msc -> Конфигурация компьютера -> Конфигурация Windows -> Параметры безопасности/Локальные политики -> Параметры безопасности
Учетные записи: Ограничить использование пустых паролей только для консольного входа = Отключить
как отключить этот план в powershell?
А как сделать чтобы один конкретный пользователь отображался всегда?
в ветке реестра:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
создайте параметр типа DWORD (32 бита) в качестве имени параметра укажите имя пользователя и укажите значение 1
Возможно поможет, не проверял, отпишитесь, если будет удачно.
Всего доступно три возможных значения DWORD: значение 0 скрывает учетную запись пользователя от экрана приветствия. Однако учетная запись пользователя все еще видна под панелью управления. Значение 1 показывает пользователя на экране приветствия. Последнее возможное значение — 65536 (0x10000). Это значение скрывает учетную запись пользователя как на экране приветствия, так и на панели управления.
Статья великолепна. Скрыл созданного сетевого пользователя с экрана СБшника — теперь на его компе моя медиатека…. А то шеф ему самый наворочанный комп купил для пасьянсов. Грех не использовать…
Здравствуйте. А можно отображать всех закешированных пользователей домена на экране приветствия?
Имеете в виду Cached Credentials? Такого штатного функционала не было….
Эх, жалко. Спасибо!
reg add «HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList» /t REG_DWORD /f /d 0 /v user1
Жесть сделал так. скрылся Локальный админ с экрана блокировки и нельзя его теперь выбрать ВООБЩЕ. Ни с экрана блокировки, ни зайдя под другим пользователем (через ctrl alt del, сменить пользователя, запустить CMD, regedit от имени администратора тоже нельзя, появляется окно где нужно ввести пароль от текущего пользователя но СМЕНИТЬ пользователя нельзя…этой кнопки просто нет! писец…
Windows 10 LTSC 21H2
Как в итоге решили проблему?)
Загрузился под LiveCD, поменял значение в ветке «HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList» для админа на 1
Доброго времени суток, имеется компьютер он же контроллер домена, имеются компьютеры в домене, настроил по вашей инструкции что бы пользователи домена которые заходили отображались, даже если вход не выполнен, выполнил команду rsop.msc там отображается что политика применена к этому компьютеру, но пользователи все равно не отображаются, только последние которые выполняли вход в систему.
в домене будут отображаться только актвивные пользователя, а не все сразу как для локального компьютера
А как сделать что бы отображались все пользователи домена которые уже заходили на компьютер, допустим компьютер выключили ушли, утром включили а там список пользователей которые входили в систему, выбрал своего пароль ввел и зашел.
Так же в поисках такого решения, если оно конечно есть.
А то часто зайдет админ под собой, чтобы настроить доменный ПК, перезагрузит его, а потом пользователь звонит не знает свой логин и что делать. Или может есть вариант скрывать определенных доменных пользователей что вход выполняют?
Или когда за ПК работают 3-4-5 пользователей… а включают компьютер там только крайний логон…
Конечно правильней вообще это убрать и заставить всех вводить свой логин и пароль, но это бунт)
Перерыл весь интернет, как заставить на экране приветствия видеть список доменных пользователей??? куда вносить изменения, в реестр может куда внести что бы был список??
Есть один огромный минус во всем этом, если не отображается имя входа, а на пк кто-то вошел потом комп заблокировался или заблокировали, то если подойдет другой сотрудник, то он не может авторизоваться в отображаемой форме, ему надо нажать на другой пользователь потом ctrl+alt+del потом только ввести свои данные… это раздражает многих. Что мешало мелкософту сделать по человечески?, ввел данные блокировавшего пользователя — зашел в систему, ввел данные другого пользователя в том же окне, вошел под другим пользователем, без кучи лишних манипуляций