我正在运行 Windows 8.1 Pro,其中有两个用户帐户,我的是受密码保护的管理员,另一个是没有密码的标准用户。
现在,当后者登录、关闭计算机并重新打开它时,我不会进入登录屏幕 — 相反,Windows 会再次以标准用户身份登录我。似乎 Windows 8 会自动登录最后一个活动用户(当然,除非该用户有密码)。我希望在启动时始终看到登录屏幕,无论谁最后使用了计算机。
(我以前遇到过这个问题并且能够解决它,但我不记得我做了什么来使它发挥作用。)
互联网上有很多建议,但没有一个对我有用。以下是我尝试过的方法:
- 在 netplwiz 中,选中“用户必须输入密码 [...]”框
- 在 regedit 中,将值更改
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch\Enabled
为 1(仅起作用一次,重启后重置) - 在 gpedit.msc 中,添加一个脚本来执行上述操作,该脚本在每次有人注销时运行(如上所述),这里)
- 使用 ”用户列表启动器“执行上述操作的工具(似乎可以执行其所说的操作,但它所做的首先不起作用)
- 在 regedit 中,创建一个名为的键
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\DisableAutomaticRestartSignOn
并将其设置为 1
我说的“不起作用”是指根本没有效果。
我依稀记得我以前的解决方案与卢斯姆格,具体来说,从管理员组中删除某些用户...也许删除某些用户(或组)的更改UserSwitch\Enabled
注册表值的权限?
非常感谢您的帮助,因为这真的让我很烦恼。出于这个原因,我宁愿不为其他帐户设置密码,或强制使用 Ctrl-Alt-Del 登录。
答案1
好吧,我找到了之前帮助我解决问题的来源,终于让它工作了。:)
这是我为每个想要禁用 Windows 8 中的自动登录的人提供的明确答案。
对于我有用的解决方案,请参阅“首选方法”。
尝试 1:解决方法
最简单的事情就是给每个用户一个密码,因此他们不会自动登录。如果他们仍然登录,则需要强制输入密码:按Win+ R,输入netplwiz
,然后选中“用户必须输入用户名和密码才能使用此计算机”复选框。
您还可以要求用户按++Ctrl进行登录AltDel:在netplwiz的“高级”选项卡中,选中“要求用户按Ctrl+Alt+Delete”复选框。
对于包括我在内的那些不想让自己的工作流程受到干扰的人来说,这两种方法都不理想。
尝试 2:dontdisplaylastusername
注册表项
我从史蒂文的回答。
按Win+ R,输入regedit
,导航到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
,然后将键的值更改dontdisplaylastusername
为 1。使用安全策略可以实现相同的效果(有关详细信息,请参阅 Steven 的回答)。
这对每个人来说也不是理想的,因为它改变了登录屏幕的工作方式:登录时您不仅需要输入密码,还需要输入用户名。
尝试 3:DisableAutomaticRestartSignOn
注册表项
我从这里得到这个解决方案Microsoft 网站。
它涉及打开 regedit,导航到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
,并将键的值更改DisableAutomaticRestartSignOn
为 1。
这似乎正是我需要的答案——但后来我才意识到,它只适用于 Windows Server 2012。(这可以解释为什么密钥一开始就不存在,以及为什么创建它没有效果。)
UserSwitch\Enabled
尝试 4:设置注册表项的脚本
我们越来越接近我喜欢的方法了!
在 regedit 中,导航到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch
,然后将键的值更改Enabled
为 1。
现在这个会是完美的解决方案——除了每次重新启动计算机时该值都会重置,所以这个技巧最多会起作用一次。
许多网站建议创建一个在注销时运行的脚本,并每次将值设置回 1。操作方法如下:
- 按Win+R并输入
gpedit.msc
。 - 在左侧栏中,导航到“用户配置”->“Windows 设置”->“脚本(登录/注销)”,然后双击右侧的“注销”。
- 单击“添加...”并输入以下内容:
- 脚本名称:
C:\Windows\System32\reg.exe
- 脚本参数:
add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch /v Enabled /t REG_DWORD /d 1 /f
- 脚本名称:
来源:http://winaero.com/blog/how-to-disable-automatic-logon-of-last-user-in-window-8/
该网站还提供一个方便的工具它会自动帮你完成这件事。
这种方法可能对你有用。但是对我却没用,很可能是因为我的电脑上的一个帐户不是管理员。
首选方法:防止 Windows 重置该密钥
最后一种方法是UserSwitch\Enabled
每次注销时设置密钥。但是,如果 Windows 一开始就不不断重置密钥,那不是更好吗?
这是我最终使用的方法,并且最终对我有用。我了解到NiFu 在 eightforums.com 上发表的帖子,这对我非常有帮助。
以下是根据该帖子内容所解释的做法:
- 在 regedit 中,导航到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch
。 - 右键单击“UserSwitch”文件夹,然后单击“权限...”。
- 单击“高级”,然后单击“禁用继承”并选择“将继承的权限转换为此对象的明确权限”。
- 在“所有者:SYSTEM”旁边,单击“更改...”,
Administrators
在底部的框中输入,单击“检查名称”以展开名称,然后单击“确定”。 - 选中“替换子容器和对象的所有者”复选框。
- 选择“管理员”,单击“编辑”,并确保“类型”设置为“允许”并且选中“完全控制”。
- 选择“SYSTEM”,单击“编辑”,将“类型”设置为“拒绝”,单击“显示高级权限”,确保“设置值”框已选中,而其他所有框均未选中。还要选中“仅将这些权限应用于此容器内的对象和/或容器”框。
- 单击“确定”和类似的按钮,直到返回到您打开的第一个对话框。
- 现在确认您做对了:再次单击“高级”,在“有效访问”选项卡中,单击“选择用户”,键入“SYSTEM”,单击“确定”,然后单击“查看有效访问”。
- 验证“完全控制”和“设置值”旁边是否有 X,并且所有其他条目仍然有绿色复选标记。
现在Enabled
再次将密钥设置为 1。这应该是您最后一次这样做了,因为 SYSTEM 现在无法再干扰。
下次启动计算机时,您应该会看到常规登录屏幕,其中包含用户图标和所有内容,无论谁最后使用了计算机。
呼。希望这能帮助到遇到类似问题的人。:)
答案2
方法一:注册表
dontdisplaylastusername
在以下注册表项中将DWORD 值设置为 1:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
方法 2:安全策略
在安全策略中,禁用“本地策略->安全选项->交互式登录:不显示最后一个用户名”。
来源:http://www.kapilarya.com/fix-windows-8-lets-last-user-automatically-sign-in