自动登录和锁定


36

我想配置Windows 7以在计算机开机后自动登录。那不是因为我懒惰而且不喜欢输入密码。那是因为我希望配置为在启动时运行的程序自动运行。

但我不希望每个人都看到我的桌面,所以我希望我的电脑保持锁定状态。当我准备工作时,我只需输入密码,而不必等到所有启动程序都运行。


1
可能没有办法做到这一点。您是否考虑过休眠而不是关闭?
Harry Johnston

是。我不喜欢休眠,因为有些程序失去了网络连接,我不得不重新启动它们。
utapyngo 2011年

哪个节目详细?你试图让作者解决这个问题吗?
罗伯特

@eye:我不明白。因为你必须重启这些程序,你决定需要重启整个机器?我错过了什么吗?
surfasb

2
@surfasb:还有一个原因是,关闭并打开我的计算机可以更快地转储8千兆字节的RAM然后再读回来。
utapyngo

Answers:


14

看看这个:自动登录和锁定

自动登录到Windows并立即锁定工作站(安全模式也受到保护)

Auto Logon&Lock是一个小型实用程序,可让您的Windows PC在启动时自动登录到用户帐户,然后锁定桌面,以便仍然需要密码。您可能希望这样做的一些原因是:更快的启动时间。Windows启动后,还会启动其他登录后启动项。这意味着当您按下电脑上的电源按钮并在几分钟后返回时,它会完全启动。登录后无需等待其他软件加载。当您的PC因电源故障或崩溃而重新启动时自动恢复下载等。在XP上,您可以通过将应用程序安装为系统服务来完成此操作。在Vista和7中,Session 0 Isolation使得使用系统服务变得很痛苦,更不用说它是不安全的了。只需将您的应用程序放在常规Windows Start Up文件夹中,它们将在自动登录后启动。它的密码也可以保护安全模式。现有的自动登录方法使安全模式不受保护。它在Explorer启动之前锁定桌面。其他方法使用自动运行/启动条目自动锁定,使PC保持登录状态并解锁,直到执行自动运行条目(甚至可能需要几分钟)。

我自己没试过,但它看起来像你想做的......


1
这看起来更安全:它不仅仅是将自己置于启动状态,而是自行替换系统shell(explorer)。
utapyngo

3
@utapyngo如果通过替换资源管理器来工作我对安全评估非常不同意。Explorer是试图侵入系统的恶意软件的热门目标; 而且我发现第三方不太可能在测试替代品方面投入尽可能多的精力,因为MS正在测试原件。
Dan Neely

4
@Dan:实际上它并不替换explorer.exe,而是使用Windows的一项功能,它允许通过更改注册表值来更改用户的shell。
utapyngo

7

您可以将其实现为计划在登录时执行的Windows任务:

运行程序rundll32.exe使用参数user32.dll,LockWorkStation

它适用于我的XP和7,但它不适用于Windows 8 / 8.1


2
我知道这个伎俩。但是,如果我把这个批处理文件放在启动状态,它会在我的计算机上留下一个安全漏洞:直到它运行起来,一个坏人可能会做坏事。正如我所说,我不希望任何人看到我的桌面。
utapyngo

3
@eye - 遗憾的是,你通过自动登录离开安全漏洞。这个解决方案至少会起作用。如果您需要安全性,我建议您不要自动登录。
Rory Alsop

1
根据您的系统,它可以非常快速地运行并锁定...您可以关闭显示器,然后PC上的唯一指示是前面/键盘上的任何指示灯?
HaydnWVN

1
这对我很有用。可能不是100%安全,但足够我的家庭使用和非侵入性。
srmark 2014年

1
适用于Windows 10,将其保存到.cmdshell并将其放入shell:startup
malix

6

我设法在启动时立即锁定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类型RunLogonScriptSyncValue data类型中1然后按ENTER

第8步:点击WindowsKey+R,输入gpedit.msc并按ENTER

第9步:在Computer ConfigurationAdministrative 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\为要存储脚本的位置。


谢谢,这是这里的ACTUAL解决方案。不知道RunLogonScriptSync哪个实际上是解决这个问题的关键。
Evengard


4

我以前在我的家用电脑上做这个(不再是)。它只涉及两个简单的步骤。

  1. 将Windows设置为在启动时自动登录到您的帐户(这将加载所有启动程序并带您到桌面)。
  2. 在您的个人Startup文件夹(或注册表的Run密钥)中包含一个快捷方式,可以使用以下命令或使用nircmd实用程序来锁定计算机。

    rundll32.exe user32.dll,LockWorkStation
    

由于大多数启动程序是并行加载的,因此您的计算机将在自动登录后立即锁定。有人偷窥并停止锁定是最不重要的。

但是,如果您需要确保计算机尽快锁定,请按照本文中的顺序进行操作(避免RunOnce在运行后将其删除,除非您可以在其他位置放置计数器脚本以将其添加回来)。
我发现这篇KB文章列出了适用于旧版Windows 的顺序,但我找不到Windows 7的官方版本。


1

我使用Sysinternals工具autologon.exe设置自动登录。然后我创建了一个快捷方式:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

用命令

rundll32.exe user32.dll,LockWorkStation

0

有一个安全的解决方案:不要关闭你的系统!

Windows 7提供了几种休眠系统的方法:挂起到RAM(S3),挂起到磁盘(S4)和混合hibernate,它们结合了两者。应该至少有一种适合你的方法。

从这些模式唤醒后,所有应用程序都已启动并准备就绪。

如果您启用“计算机唤醒时需要密码”选项,那么您就拥有了所需的内容,而且它是100%安全的(或者像Windows一样安全)。

Windows 7通常足够稳定,可以这种方式使用。大部分时间我只在Windows Update安装新补丁时启动并强制我重启系统。


1
无意关机怎么办?(例如,停电或某些坏人故意将系统关闭再打开?)
pioto 2014年

如果您使用休眠(挂起到磁盘),计算机将被关闭。
罗伯特

0

一种(不是最好的)实现方式可能是:

  1. autologin作为无密码的单个用户
  2. 设置用户密码 - net user <user> <password>
  3. 锁定屏幕 - rundll32.exe user32.dll,LockWorkStation

这两行可以放入批处理文件中的autoexec.bat文件或startup文件夹中,以便在每次登录时运行


autoexec.bat在注册表中激活

Software\Microsoft\Windows NT\CurrentVersion\Winlogon\ParseAutoexec的价值应该是1


1
有一些方法可以使用密码自动登录用户。此外,如果您在无密码用户上设置密码,则需要手动将其删除才能进行无密码登录,以便下次使用。此外,密码以纯文本形式存储在脚本中。
ADTC 2016年

0

这是旧的,但因为有一些问题需要使用 rundll32.exe

关于何时使用rundll32的指导是什么?容易:不要使用它

有时候,客户会问:“什么是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

取自脚本中心

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.