我想配置Windows 7以在计算机开机后自动登录。那不是因为我懒惰而且不喜欢输入密码。那是因为我希望配置为在启动时运行的程序自动运行。
但我不希望每个人都看到我的桌面,所以我希望我的电脑保持锁定状态。当我准备工作时,我只需输入密码,而不必等到所有启动程序都运行。
我想配置Windows 7以在计算机开机后自动登录。那不是因为我懒惰而且不喜欢输入密码。那是因为我希望配置为在启动时运行的程序自动运行。
但我不希望每个人都看到我的桌面,所以我希望我的电脑保持锁定状态。当我准备工作时,我只需输入密码,而不必等到所有启动程序都运行。
Answers:
看看这个:自动登录和锁定
自动登录到Windows并立即锁定工作站(安全模式也受到保护)
Auto Logon&Lock是一个小型实用程序,可让您的Windows PC在启动时自动登录到用户帐户,然后锁定桌面,以便仍然需要密码。您可能希望这样做的一些原因是:更快的启动时间。Windows启动后,还会启动其他登录后启动项。这意味着当您按下电脑上的电源按钮并在几分钟后返回时,它会完全启动。登录后无需等待其他软件加载。当您的PC因电源故障或崩溃而重新启动时自动恢复下载等。在XP上,您可以通过将应用程序安装为系统服务来完成此操作。在Vista和7中,Session 0 Isolation使得使用系统服务变得很痛苦,更不用说它是不安全的了。只需将您的应用程序放在常规Windows Start Up文件夹中,它们将在自动登录后启动。它的密码也可以保护安全模式。现有的自动登录方法使安全模式不受保护。它在Explorer启动之前锁定桌面。其他方法使用自动运行/启动条目自动锁定,使PC保持登录状态并解锁,直到执行自动运行条目(甚至可能需要几分钟)。
我自己没试过,但它看起来像你想做的......
您可以将其实现为计划在登录时执行的Windows任务:
运行程序rundll32.exe使用参数user32.dll,LockWorkStation
它适用于我的XP和7,但它不适用于Windows 8 / 8.1
.cmd
shell并将其放入shell:startup
我设法在启动时立即锁定PC,同时在后台加载Windows /启动项。这适用于具有组策略编辑器的Windows版本。
第1步:打开记事本,然后粘贴此代码:
WScript.CreateObject(“WScript.Shell”)。运行(“rundll32 user32.dll,LockWorkStation”)
第2步:单击File>Save As
并在Save as type
下拉菜单中选择All Files
步骤3:在该File Name
字段中,输入LockWorkStation.vbs
并保存文件C:\Users\YourUserName\Documents
第4步:点击WindowsKey+R
,输入regedit
并按ENTER
第5步:转到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
步骤6:右键单击空白区域,然后单击New> DWORD (32-bit) Value
并按ENTER
第7步:双击新创建的REG_DWORD
文件。在Value name
类型RunLogonScriptSync
和Value data
类型中1
然后按ENTER
第8步:点击WindowsKey+R
,输入gpedit.msc
并按ENTER
第9步:在Computer Configuration
,Administrative Templates > System > Logon
然后转到
双击Run these programs at user logon
第10步:单击Enabled
,然后Items to run at logon
单击Show...
步骤11:重复键入C:\Users\YourUserName\Documents\LockWorkStation.vbs
并单击OK
,直到所有窗口都关闭
步骤12:点击WindowsKey+R
并输入control.exe userpasswords2
然后按ENTER
步骤13:取消选中Users must enter a user name and password to use this computer.
然后单击OK
(如果提示输入密码,请输入密码)
步骤:重新启动电脑。
现在,无论何时启动PC,.vbs脚本都将首先运行。这将确保在桌面出现之前锁定您的PC。
注意:您可以更改C:\Users\YourUserName\Documents\
为要存储脚本的位置。
RunLogonScriptSync
哪个实际上是解决这个问题的关键。
我以前在我的家用电脑上做这个(不再是)。它只涉及两个简单的步骤。
在您的个人Startup文件夹(或注册表的Run
密钥)中包含一个快捷方式,可以使用以下命令或使用nircmd
实用程序来锁定计算机。
rundll32.exe user32.dll,LockWorkStation
由于大多数启动程序是并行加载的,因此您的计算机将在自动登录后立即锁定。有人偷窥并停止锁定是最不重要的。
但是,如果您需要确保计算机尽快锁定,请按照本文中的顺序进行操作(避免RunOnce
在运行后将其删除,除非您可以在其他位置放置计数器脚本以将其添加回来)。
我发现这篇KB文章列出了适用于旧版Windows 的顺序,但我找不到Windows 7的官方版本。
我使用Sysinternals工具autologon.exe
设置自动登录。然后我创建了一个快捷方式:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
用命令
rundll32.exe user32.dll,LockWorkStation
有一个安全的解决方案:不要关闭你的系统!
Windows 7提供了几种休眠系统的方法:挂起到RAM(S3),挂起到磁盘(S4)和混合hibernate,它们结合了两者。应该至少有一种适合你的方法。
从这些模式唤醒后,所有应用程序都已启动并准备就绪。
如果您启用“计算机唤醒时需要密码”选项,那么您就拥有了所需的内容,而且它是100%安全的(或者像Windows一样安全)。
Windows 7通常足够稳定,可以这种方式使用。大部分时间我只在Windows Update安装新补丁时启动并强制我重启系统。
一种(不是最好的)实现方式可能是:
net user <user> <password>
rundll32.exe user32.dll,LockWorkStation
这两行可以放入批处理文件中的autoexec.bat
文件或startup
文件夹中,以便在每次登录时运行
autoexec.bat
在注册表中激活
Software\Microsoft\Windows NT\CurrentVersion\Winlogon\ParseAutoexec
的价值应该是1
这是旧的,但因为有一些问题需要使用 rundll32.exe
有时候,客户会问:“什么是Rundll32.exe,什么时候应该使用它而不只是编写一个独立的exe?”
指导非常简单:不要使用rundll32。只需编写独立的exe文件即可。
这是另一种方法,可以避免自己编译独立的exe。只需将其保存为Lock-Workstation.ps1
并使用PowerShell运行即可。
Function Lock-WorkStation {
#Requires -Version 2.0
$signature = @"
[DllImport("user32.dll", SetLastError = true)]
public static extern bool LockWorkStation();
"@
$LockWorkStation = Add-Type -memberDefinition $signature -name "Win32LockWorkStation" -namespace Win32Functions -passthru
$LockWorkStation::LockWorkStation() | Out-Null
}
Lock-WorkStation
取自脚本中心