如何在Windows 10的登录屏幕中显示/隐藏所有用户帐户?

默认情况下,Windows 10 / 8.1和Windows Server 2016/2012 R2中的登录屏幕显示最后一次登录到计算机的用户的帐户(如果未设置用户密码,则即使该用户也将自动登录自动登录未启用)。但是,可以在Windows 10的欢迎屏幕上显示所有用户帐户。您可以配置此功能的不同行为:您可以显示最后一个登录用户名,将其隐藏,甚至列出所有本地或登录于用户。

如何在Windows登录屏幕上隐藏用户账户?

在Windows登录屏幕上显示账户名称对用户来说很方便,但是会降低计算机的安全性。拥有本地计算机访问权限的攻击者只需要选择一个密码(为此,可以使用多种方式进行社交工程,暴力攻击或在监视器上带有密码的平庸标签)。

您可以通过GPEDIT在Windows欢迎屏幕上隐藏上次登录的用户名。打开域(gpmc.msc)或本地(gpedit.msc)组策略编辑器,然后转到“ 计算机配置-> Windows设置->安全设置->本地策略->安全选项”部分。启用策略“ 交互式登录:不显示最后一个用户名 ”。默认情况下,此策略是禁用的。

win10登录界面切换admin账户(10的登录屏幕中显示)(1)

另外,您可以通过注册表在登录屏幕上隐藏用户名。为此,请转到注册表项HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System,创建一个名为dontdisplaylastusername的新DWORD参数,其值为1

win10登录界面切换admin账户(10的登录屏幕中显示)(2)

此外,您可以在锁定的计算机上隐藏用户名。为此,在同一GPEDIT部分中,您需要启用策略“ 交互式登录:会话锁定时显示用户信息 ”,并选择值“ 不显示用户信息 ”。

win10登录界面切换admin账户(10的登录屏幕中显示)(3)

同一注册表项中的名为DontDisplayLockedUserId的注册表参数的值为3对应于此策略设置。

现在,在计算机登录屏幕和Windows锁定屏幕上,将显示用于输入用户名和密码的空白字段。

win10登录界面切换admin账户(10的登录屏幕中显示)(4)

如何在Windows 10的登录屏幕上显示所有本地用户帐户?

在Windows 10 / 8.1中,您可以在欢迎屏幕上列出所有本地用户帐户。要登录到计算机,用户只需点击所需的帐户并指定其密码即可。

若要在Windows登录屏幕上显示所有本地用户,需要在以下注册表项中将Enabled参数的值更改为1HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Authentication \ LogonUI \ UserSwitch。您可以通过RegEdit GUI,Reg Add cli命令或Set-ItemProperty PowerShell cmdlet 更改此参数:

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

win10登录界面切换admin账户(10的登录屏幕中显示)(5)

但是,Windows会在每次用户登录时自动将Enabled参数的值重置为0。为了始终将注册表值更改为1,在“任务计划程序”中创建一个在用户登录时运行的新任务会更容易。

Scheduler任务必须运行上面显示的命令之一。您可以使用taskchd.msc图形控制台手动创建此任务。但是在我看来,使用PowerShell创建Scheduler任务要容易得多。在我们的情况下,用于创建新任务的命令如下所示:

$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

win10登录界面切换admin账户(10的登录屏幕中显示)(6)

确保该任务出现在Windows Task Scheduler(taskschd.msc)中。

win10登录界面切换admin账户(10的登录屏幕中显示)(7)

注销,然后再次登录。该任务必须自动启动,并将“已启用”注册表参数的值更改为1。检查该参数的当前值。如您所见,它是1:

get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch' -Name Enabled

win10登录界面切换admin账户(10的登录屏幕中显示)(8)

下次重新启动后,所有本地用户账户将显示在Windows 10 / 8.1登录屏幕上,而不是最后一个。

提示。如果成功触发了任务,但未显示本地用户列表,请确保是否禁用了策略“ 交互式登录:不显示上一个用户名”(请参阅“ 计算机配置\ Windows设置\安全设置\本地策略\安全选项”)。

有一个单独的组策略设置,它使在加入域的计算机的“欢迎使用”屏幕上列出本地用户帐户变得更加容易。打开GPEDIT编辑器,转到“计算机配置->管理模板->系统->登录”部分,并启用策略“ 枚举加入域的计算机上的本地用户 ”。

在Windows 10登录屏幕上显示记录的域用户

如果多个域用户使用一台计算机,则在欢迎屏幕上可以显示具有本地活动/断开会话的用户列表(仅当用户登录时才会显示用户,例如,在使用公用计算机,信息亭,RDS时)服务器或其Windows 10类似产品)。

为此,请在计算机配置-> Windows设置->安全设置->本地策略->安全选项中检查是否禁用了以下策略:

然后在“计算机配置”->“管理模板”->“系统”->“登录”部分中禁用策略:

此后,欢迎屏幕将显示具有已登录但已断开连接的活动会话的帐户列表。用户登录一次就足够了,然后只需从列表中选择一个账户并输入密码即可。

如何在登录屏幕上隐藏特定的用户账户?

Windows欢迎屏幕显示以下本地组之一的用户:管理员,用户,超级用户,来宾。

您可以通过运行以下命令从Windows 10登录屏幕上的列表中隐藏任何用户:

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

,