Як відобразити / приховати імена користувачів з екрану вітання Windows 10?

У Windows 10 / 8.1 і Windows Server 2016 / 2012R2 на екрані входу в систему (екрані вітання) за замовчуванням відображається обліковий запис останнього користувача, який авторизувався на комп'ютері (якщо у користувача не заданий пароль, буде виконаний автоматичний вхід систему під цим користувачем, навіть якщо не задана функція автологона). Ви можете налаштувати різну поведінку цієї функції на екрані вітання (logon screen): можна показати своє ім'я користувача, приховати його або навіть вивести список всіх локальних або активних доменних користувачів комп'ютера (сервера).

зміст:

  • Як прибрати ім'я користувача з екрану вітання Windows?
  • Як показати всіх локальних користувачів на екрані входу в Windows 10?
  • Відобразити список активних доменних користувачів на екрані входу в Windows
  • Як приховати певного користувача на екрані привітання 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). За замовчуванням ця політика відключена.

Ви можете приховати своє ім'я користувача на екрані входу через реєстр. Для цього в гілці HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System створіть параметр dontdisplaylastusername типу DWORD і значенням 1.

Додатково ви можете приховати своє ім'я користувача на заблокованому комп'ютері. Для цього в цьому ж розділі потрібно включити політику "Інтерактивний вхід в систему: відображати відомості про користувача, якщо сеанс заблокований"(Interactive logon: Display user information when the session is locked) і вибрати значення" Не додавати відомості про користувача "(Do not display user information).

Цією політиці відповідає ключ реєстру в тій же гілці DontDisplayLockedUserId зі значенням 3.

Тепер на екрані входу в комп'ютер і на екрані блокування Windows відображаються порожні поля для введення імені користувача і пароля.

Як показати всіх локальних користувачів на екрані входу в Windows 10?

У Windows 10 / 8.1 ви можете вивести список наявних локальних облікових записів на екрані вітання системи. Щоб авторизуватися на комп'ютері, користувачеві досить лише клацнути по потрібного облікового запису і вказати її пароль.

Щоб Windows відображала всіх локальних користувачів на екрані входу, потрібно в гілці реєстру HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Authentication \ LogonUI \ UserSwitch змінити значення параметра Enabled на 1. Ви можете змінити цей параметр через графічний інтерфейс редактора Regedit, за допомогою консольної команди "Reg Add" або Командлети PowerShell Set-ItemProperty.

Reg Add HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Authentication \ LogonUI \ UserSwitch / v Enabled / t REG_DWORD / d 1 / f
або
Set-ItemProperty -Path 'HKLM: \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Authentication \ LogonUI \ UserSwitch' -Name Enabled -Value 1

Однак Windows за будь-якої вході користувача автоматично скидає значення параметра Enabled на 0. Щоб значення ключа завжди змінювалося на 1, найпростіше створити нове завдання планувальника, яке буде відпрацьовувати при вході користувача в систему.

Завдання планувальника має запускати одну із зазначених вище команд. Таке завдання можна створити вручну за допомогою графічної консолі taskschd.msc. Але мені здається, що набагато простіше створити завдання планувальника з допомогою 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 -Path 'HKLM: \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Authentication \ LogonUI \ UserSwitch' -Name Enabled

Після наступного перезавантаження системи на екрані привітання Windows 10 і 8.1 будуть відображатися всі локальні облікові записи користувачів комп'ютера, а не тільки ім'я останнього пользовтеля.

Порада. Замість стандартних іконок користувачів можна показувати їх фотографії-аватари з Active Directory.

Порада. Якщо завдання успішно відпрацьовує, але список користувачів не відображається, перевірте, чи не активована політика Interactive Logon: Do not display last username (В розділі Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options).

Є окрема політика, що дозволяє набагато простіше вивести список локальних користувачів на доменних комп'ютерах. Перейдіть в розділ Computer Configuration -> Administrative Templates -> System -> Logon (Конфігурація комп'ютера -> Адміністартіине шаблони -> Вхід в систему) і включіть політику «Enumerate local users on domain-joined computers»(Перерахувати локальних користувачів на комп'ютерах, підключених до домену).

Відобразити список активних доменних користувачів на екрані входу в Windows

Якщо одним комп'ютером користується кілька користувачів, ви можете відобразити на екрані вітання список користувачів, у яких є невимикання сесії (користувачі будуть відображатися тільки в тому випадку, якщо вони залягання, наприклад при використання общежоступних комп'ютерів, кас, кіосків, RDS сервера або його аналога на Windows 10).

Для цього перевірте, що в розділі Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options відключені політики:

  • Interactive logon: Do not display last signed-in: Disabled
  • Interactive logon: Do not 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

Після цього на екрані вітання буде відображатися список облікових записів з активними сесіями, які виконали вхід в систему, але були відключені. Користувачеві досить один раз виконати вхід, а після цього просто вибирати обліковий запис зі списку і вводити пароль.

Як приховати певного користувача на екрані привітання Windows?

На екрані привітання Windows відображаються користувачі, які входять в одну з наступних локальних груп: Адміністратори, Користувачі, Досвідчені користувачі, Гості.

Ви можете приховати будь-якого користувача зі списку на екран привітання Windows 10, виконавши команду:

reg add "HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon \ SpecialAccounts \ UserList" / t REG_DWORD / f / d 0 / v UserName