运行 Windows 7 的笔记本电脑在输入错误的用户密码后,有没有什么办法可以使用网络摄像头拍照?
答案1
也许你可能想检查一下基柠檬登录管理器。这是我能找到的唯一接近您需要的解决方案。适用于 XP、Vista、7 和 8。不幸的是,此功能仅在付费版本中提供。
从产品页面:
劫机者追踪
使用劫机者追踪功能,您可以查看以下图片:
- 在 Windows 自动锁定之前谁在你的电脑前
- 计算机锁定时输入了错误密码
免责声明:我与该产品或公司绝对没有任何关系。
答案2
这个问题太酷了。以下是我的解决方案(部分灵感来自 Keltari 的回答):
要求
- 较新版本的 Windows(可能是 Vista 或更高版本)
- 与 DirectShow 兼容的视频设备(可能是 Windows 识别为摄像头的任何设备,等等)
- ffmpeg.exe(http://ffmpeg.org/)
快照登录失败(将其放在包含 ffmpeg.exe 的某个文件夹中)
@echo off
:: Get date and time independent of regional settings. Source: http://stackoverflow.com/questions/203090/how-to-get-current-datetime-on-windows-command-line-in-a-suitable-format-for-us
for /F "usebackq tokens=1,2 delims==" %%i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if '.%%i.'=='.LocalDateTime.' set ldt=%%j
set datetime=%ldt:~0,4%_%ldt:~4,2%_%ldt:~6,2%_%ldt:~8,2%_%ldt:~10,2%_%ldt:~12,2%
:: Capture snapshot through DirectShow using FFmpeg and save to disk. Change name of video adapter and save path.
ffmpeg.exe -f dshow -i video="USB 2.0 UVC HD Webcam" -vframes 1 E:\snapshot_%datetime%.jpg
快照登录失败.xml(将其导入为 Windows 调度任务)
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.3" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2013-07-06T23:32:34.0732602</Date>
<Author>Zoe\Zero3</Author>
</RegistrationInfo>
<Triggers>
<EventTrigger>
<Enabled>true</Enabled>
<Subscription><QueryList><Query Id="0" Path="Security"><Select Path="Security">*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and EventID=4625]]</Select></Query></QueryList></Subscription>
</EventTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>S-1-5-19</UserId>
<RunLevel>LeastPrivilege</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
<UseUnifiedSchedulingEngine>false</UseUnifiedSchedulingEngine>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT1H</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>E:\snapshot_login_failure.cmd</Command>
<WorkingDirectory>E:\</WorkingDirectory>
</Exec>
</Actions>
</Task>
笔记
- 您需要调整设备名称和路径以适合您的系统。任务文件中的用户帐户也可能需要调整。
- 您可能需要启用每次登录失败的日志记录Windows 7 登录失败事件不存在?
- 登录失败事件触发后在“错误的用户名或密码等”对话框中单击“确定”,而不是在输入无效的登录信息后立即单击“确定”
- 如果在启动过程中显示登录屏幕后过早触发,则会出现明显的延迟(当 Windows 仍在启动服务且系统受 IO 限制时)
答案3
抱歉重新提起旧话题,但我发布此帖子是为了帮助将来遇到此问题的人。
Zero3 的流程大部分情况下都有效,我向他致以崇高的敬意!但是,我只有在启用失败登录尝试的日志记录后才能使其工作,然后右键单击日志中的事件 ID 并选择“将任务附加到此事件”,而不是通过 XML 导入任务,这可能与权限有关,因为我必须输入管理员密码才能创建任务。
另一件让我感到奇怪的事情是,触发的任务没有将.cmd 文件识别为程序/脚本。为了解决这个问题,我在同一目录中使用下面的代码创建了一个名为 run.bat 的简单.bat 文件,然后让任务启动批处理文件,从而运行.cmd。
有点像跳房子的方式让它工作,但是由于这个线程,我对我的成功感到非常高兴,并且我很想制作一个关于这个过程的视频教程:)
非常感谢大家!
注意:我运行的是 Windows 10 Pro x64
run.bat代码:
Start "" "C:\<filepath to .cmd>"
答案4
无效登录会有日志,就像Event ID: 529
在安全事件日志中一样。您可以编写一个脚本来监控该 ID,然后执行一个拍照命令……但不确定如何执行第二部分……