¿Hay alguna manera de que una computadora portátil con Windows 7 tome una foto usando la cámara web después de ingresar la contraseña de usuario incorrecta?
15
Tal vez desee consultar el administrador de inicio de sesión de KeyLemon . Es la única solución que pude encontrar que está cerca de lo que necesita. Funciona en XP, Vista, 7 y 8. Desafortunadamente, esta característica está presente solo en la versión paga.
Desde la página del producto:
Secuestradores de seguimiento
Con la función de seguimiento de secuestradores puede ver imágenes de:
- que estaba frente a su computadora antes del bloqueo automático de Windows
- quien escribió una contraseña incorrecta cuando la computadora estaba bloqueada
Descargo de responsabilidad: no estoy absolutamente relacionado con el producto o la empresa.
Que buena pregunta. Aquí está mi solución (inspirada en parte por la respuesta de Keltari):
Requisitos
snapshot_login_failure.cmd (colóquelo en alguna carpeta con 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
snapshot_login_failure.xml (importe esto como una tarea del planificador de 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>
Notas
Perdón por revivir un hilo viejo, pero estoy publicando esto como ayuda para quien tropiece con esto en el futuro.
El proceso de Zero3 funcionó en su mayor parte, ¡y muchas felicidades para él! Pero solo pude hacerlo funcionar después de habilitar el registro de intentos fallidos de inicio de sesión, y luego hacer clic derecho en la ID del evento en los registros y seleccioné "adjuntar una tarea a este evento" en lugar de importar la tarea a través de XML, probablemente algo para hacer con permisos, ya que tuve que escribir mi contraseña de administrador para crear la tarea.
Otra cosa, que me pareció extraña, es que la Tarea que se activó no reconoció el archivo .cmd como un programa / script. Para solucionar esto, hice un simple archivo .bat llamado run.bat en el mismo directorio con el código a continuación, y en su lugar hice que la tarea iniciara el archivo por lotes y, por lo tanto, ejecutara el .cmd.
Una especie de forma hop-scotch para que funcione, pero estoy muy satisfecho con mi éxito gracias a este hilo, y estoy tentado de hacer un video tutorial sobre este proceso :)
Muchas gracias a todos!
Nota: estoy ejecutando Windows 10 Pro x64
El código run.bat:
fuente
Sí, si está familiarizado con Windows MSGINA, en teoría podría crear un evento de inicio de sesión personalizado que iniciará la cámara en la computadora portátil y tomará una foto y la guardará en una carpeta personalizada
Referencia: http://technet.microsoft.com/en-gb/library/bb742447.aspx
fuente
un inicio de sesión no válido tiene registros como
Event ID: 529
en el registro de eventos de seguridad. Podría escribir un script que supervise esa ID y luego ejecutar un comando que tomaría una foto ... aunque no estoy seguro de cómo hacer la segunda parte ...fuente