โดยค่าเริ่มต้น หน้าจอล็อกอิน Windows 10/11 และ Windows Server 2019/2016/2012R2 จะแสดงบัญชีของผู้ใช้คนล่าสุดที่เข้าสู่ระบบ คุณสามารถกำหนดพฤติกรรมต่างๆ ได้: แสดงชื่อผู้ใช้ล่าสุด, ซ่อนชื่อ, หรือแสดงรายการผู้ใช้ท้องถิ่น/โดเมนที่เข้าสู่ระบบบนหน้าจอต้อนรับ
ไม่แสดงชื่อผู้ใช้ล่าสุดบนหน้าจอล็อกอิน Windows
ผู้ใช้สะดวกเมื่อเห็นชื่อบัญชีล่าสุดบนหน้าจอล็อกอิน ไม่ต้องพิมพ์เอง แต่นี่ทำให้ผู้โจมตีเข้าถึงเครื่องได้ง่ายขึ้น ต้องหาแค่รหัสผ่านเท่านั้น มีวิธีหลายอย่าง: วิศวกรรมสังคม, โจมตี brute-force, หรือกระดาษติดจอที่มีรหัสผ่าน
ซ่อนชื่อผู้ใช้ล่าสุดผ่าน GPO: เปิด Group Policy Editor โดเมน (gpmc.msc) หรือท้องถิ่น (gpedit.msc) ไปที่ Computer Configuration → Windows Settings → Security Settings → Local Policies → Security Options เปิดใช้งาน Policy "Interactive logon: Do not display last user name" Policy นี้ปิดอยู่โดยค่าเริ่มต้น

ซ่อนผ่าน Registry ไปที่ Key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System สร้าง DWORD ใหม่ชื่อ dontdisplaylastusername ค่า 1

ชื่อผู้ใช้ยังแสดงเมื่อจอถูกล็อก (Win+L หรือผ่าน Lock Screen GPO) ซ่อนชื่อบนหน้าจอล็อกได้: ในส่วน GPO เดียวกัน เปิด Policy "Interactive logon: Display user information when the session is locked" ตั้งค่า "Do not display user information"

พารามิเตอร์ Registry ชื่อ DontDisplayLockedUserId ใน Key เดียวกัน ค่า 3 ตรงกับ Policy นี้
ค่าอื่นๆ ที่เป็นไปได้:
- 1 — แสดงชื่อที่แสดง, โดเมน, และชื่อผู้ใช้
- 2 — แสดงเฉพาะชื่อที่แสดง
- 3 — ไม่แสดงข้อมูลผู้ใช้
หน้าจอล็อกอินและหน้าจอล็อก Windows ตอนนี้แสดงช่องชื่อผู้ใช้และรหัสผ่านว่างเปล่า

แสดงผู้ใช้ทั้งหมดบนหน้าจอ Sign-in Windows 10/11
Windows เวอร์ชันใหม่ (ทดสอบบน Windows 11 21H2 และ Windows 10 21H1) แสดงรายการผู้ใช้ท้องถิ่นที่เปิดใช้งานอยู่ที่มุมซ้ายล่างของหน้าจอล็อกอินโดยค่าเริ่มต้น แสดงเฉพาะผู้ใช้ที่เปิดใช้งาน ไม่แสดงผู้ใช้ที่ซ่อนหรือปิดใช้งาน
ผู้ใช้เพียงคลิกเลือกบัญชีและใส่รหัสผ่าน เพื่อเข้าสู่ระบบ ทำงานได้เฉพาะคอมพิวเตอร์ที่ไม่ได้ Join โดเมน Active Directory
หากไม่ได้ตั้งรหัสผ่านสำหรับบัญชี ผู้ใช้นั้นจะล็อกอินอัตโนมัติ แม้จะไม่ได้เปิด AutoLogon

เคล็ดลับ แทนไอคอนผู้ใช้มาตรฐาน สามารถตั้งค่าให้แสดงรูปโปรไฟล์จาก Active Directory ได้
หากไม่แสดงรายการผู้ใช้ท้องถิ่นบนหน้าจอล็อกอิน ตรวจสอบการตั้งค่า Local Group Policy (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 เดียวกัน)

รีสตาร์ทคอมพิวเตอร์เพื่อนำการตั้งค่า GPO ใหม่ไปใช้
บน Windows 10 ビルดเก่า (1609 ถึง 1903) มีปัญหาการแสดงผู้ใช้ท้องถิ่นทั้งหมดบน Welcome Screen เกี่ยวกับโหมดการสลับผู้ใช้
เพื่อแสดงบัญชีผู้ใช้ท้องถิ่นทั้งหมด ให้เปลี่ยนค่า Parameter Enabled เป็น 1 ใน Registry Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch ตัวเลือกนี้อนุญาตให้สลับผู้ใช้บนหน้าจอ Sign-in แต่ Windows จะรีเซ็ตค่า Enabled กลับเป็น 0 ทุกครั้งที่มีผู้ใช้ล็อกอิน
แก้ไขโดยสร้าง Scheduled Task ที่เปลี่ยนค่า Parameter เป็น 1 ทุกครั้งที่มีผู้ใช้ล็อกอิน
สร้าง Scheduled Task ใหม่ด้วย 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

ตรวจสอบว่า Task ปรากฏใน Task Scheduler (taskschd.msc)

Log off แล้ว Log on ใหม่ Task จะรันอัตโนมัติและเปลี่ยนค่า Enabled เป็น 1 ตรวจสอบด้วย Get-ItemProperty:
get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch' -Name Enabled

แสดงผู้ใช้โดเมนที่ล็อกอินอยู่บนหน้าจอล็อกอิน Windows
หากมีผู้ใช้โดเมนหลายคนใช้คอมพิวเตอร์ร่วมกัน สามารถแสดงรายการผู้ใช้ที่มี Session 作用中บนหน้าจอต้อนรับได้ Session 作用中หมายถึงผู้ใช้ที่ล็อกอินอยู่ในคอมพิวเตอร์ เช่น คอมพิวเตอร์ร่วมใช้ (User Switching), Kiosk, Windows Server RDS Hosts, หรือ Windows 11/10 ที่อนุญาตหลายการเชื่อมต่อ RDP
ตรวจสอบใน Computer Configuration → Windows Settings → Security Settings → Local Policies → Security Options ให้ Policy ต่อไปนี้เป็น Disabled:
- Interactive logon: Don't display last signed-in: Disabled
- Interactive logon: Don't display username at sign-in: Disabled

จากนั้นปิด Policy ใน 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
หลังจากนั้นหน้าจอต้อนรับจะแสดงรายการผู้ใช้ที่ล็อกอินอยู่ ทั้ง Session 作用中และ Session ที่ Disconnected (เช่น RDP Timeout) ผู้ใช้แค่ล็อกอินครั้งแรก แล้วเลือกบัญชีจากรายการและใส่รหัสผ่าน

หมายเหตุ: การตั้งค่า GPO บนคอมพิวเตอร์โดเมนอาจถูกจัดการโดย Domain Admin หากการตั้งค่า Local GPO ไม่มีผล ให้ตรวจสอบว่าถูก Override โดย Domain GPO หรือไม่ ใช้ rsop.msc หรือ gpresult เพื่อดู Resultant Group Policy
ซ่อนบัญชีผู้ใช้เฉพาะจากหน้าจอ Sign-in บน Windows 10 และ 11
หน้าจอต้อนรับ Windows แสดงผู้ใช้ที่เป็นสมาชิกกลุ่มท้องถิ่น: Administrators, Users, Power Users, Guests
บัญชีที่ Disabled ไม่แสดงบนหน้าจอ Sign-in
ซ่อนผู้ใช้เฉพาะจากรายการบนหน้าจอต้อนรับผ่าน Registry ใช้ Key HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList สร้าง DWORD Parameter ชื่อ Username ค่า 0 สำหรับแต่ละผู้ใช้ที่ต้องการซ่อน
ดูรายชื่อผู้ใช้ท้องถิ่นด้วย PowerShell หรือ cmd:
Net user หรือ Get-LocalUser | where {$_.enabled –eq $true}

ซ่อนบัญชีเฉพาะ (เช่น user1) จากหน้าจอต้อนรับ Windows 11/10:
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" /t REG_DWORD /f /d 0 /v UserName
หากต้องการแสดงผู้ใช้ที่ซ่อนไว้กลับมา ให้ลบ Registry Parameter นี้ หรือเปลี่ยนค่าเป็น 1
หากบัญชี Administrator built-in เปิดใช้งานอยู่ และ ไม่ใช่บัญชีเดียวที่มีสิทธิ์ Administrator ท้องถิ่น (!!!) สามารถซ่อนได้:
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
- Do not enumerate connected users on domain-joined computer = Enabled