windows开机自动登陆

修改注册表

先搞清楚一个windows中的一个概念:不登陆≠不能执行任何操作/后台不执行任何操作。

开机自动登陆的适用场景,举个例子,你写了个需要在客户端重启后执行的自动化脚本。有一个远程的服务器会向它连接的客户端发送这个自动化脚本。

然而你发现,这个脚本只有在windows用户登陆后才能正常执行,否则会出现什么“计算机积极拒绝连接”等问题。主要原因就是不登录确实不代表后台没启动任何服务,(以下个人理解)但它确实不会启动所有的服务,也不会启动一些你安装好的exe(如果你设置了开机自启的话)——因为它们的等级没到系统级别。

当然你也可以不给虚拟机设置密码。但如果有密码的话,那这个时候自动登陆就很重要了,不然每台虚拟机要执行脚本的话,你还要一台一台去手动登陆吗?明显不现实。

还有种比较特殊的,但比较贴近日常生活的用法。有一台公共使用的电脑,你给电脑加了两个用户,一个admin和一个user。简单来说,admin有着所有权限,而user只有读写权限。很明显,作为管理员的你肯定不想所有人都拥有所有权限。然而user用户的使用频率又要明显高于admin用户。那么此时为了方便其他用户的使用,可以给user用户加上自动登陆,需要用到admin的时候再手动切换,如此如此。

言归正传,要实现自动登陆就三步,主要是修改注册表。

比如要为用户名为admin,密码为123的用户打开自动登陆。那么首先我们需要自动登陆用户的用户名,然后是要自动登陆用户的密码,最后为该用户开启自动登陆,完事。下面这段代码扔进bat跑就行了。

BAT (Batchfile)
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName /t REG_SZ /d "admin" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /t REG_SZ /d "123" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_SZ /d 1 /f
Subscribe
提醒
0 评论
Inline Feedbacks
View all comments
0
在此留下你的评论x