Sí, pero primero debe instalar Sysmon para monitorear este tipo de eventos, ya que no todos los programas hacen esto. hasta donde yo sé.
Esto le permitirá reiniciar cualquier aplicación que recopile en el ProcessTerminate
evento y reiniciar en cualquier momento después de que lo desee. No se limitará a los 30 segundos como si se tratara de usar un script por lotes.
- Tome un café y descárguelo del enlace de arriba.
- Instalar con
Sysmon.exe -i
en DOS
o PowerShell
.
- No es necesario reiniciar.
Lo que esto hace completamente, se encuentra aquí .
TL; DR
System Monitor (Sysmon) es un servicio del sistema de Windows y un controlador de dispositivo que, una vez instalado en un sistema, permanece residente en todos los reinicios del sistema para monitorear y registrar la actividad del sistema en el registro de eventos de Windows
Ahora que está instalado, puede encontrarlo ubicado en el Event Viewer
.
En Vista y superior, los eventos se almacenan enApplications and Services Logs/Microsoft/Windows/Sysmon/Operational
En sistemas más antiguos, los eventos se escriben en System event log
.
Para este ejemplo, usaré stickies y Windows 10 Pro .
Nota: antes de usar el código en el Programador de tareas, es mejor probar primero Event Viewer
.
- Abierto
Event Viewer
- Haga clic derecho en
Event Viewer (Local)
Create Custom View...
- Haga clic en el
XML tab
- Marque la casilla
Edit query manually
Este es un ejemplo del programa adhesivo . Simplemente modifíquelo C:\Program Files (x86)\Stickies\stickies.exe
para satisfacer sus necesidades. Explicaré lo mejor que pueda debajo de lo que hace cada sección Sysmon
.
Ejemplo de consulta:
<QueryList>
<Query Id="0" Path="Microsoft-Windows-Sysmon/Operational">
<Select Path="Microsoft-Windows-Sysmon/Operational">
*[EventData[Data[@Name='Image'] = 'C:\Program Files (x86)\Stickies\stickies.exe']]
and
*[System[(EventID=5)]]
</Select>
</Query>
</QueryList>
(1) [EventData[Data[@Name='Image'] = 'validFullPath.exe']]
es la consulta de la ruta. Lo que esto hace es buscar la ubicación de los archivos del programa .exe
. Esta debe ser una ruta completa ya que no hay forma de usar comodines como *
.
(2) and
es la declaración y para coincidir también ...
(3) *[System[(EventID=5)
es la ID del evento para ProcessTerminate
.
(4) Si se realiza correctamente, debería ver los procesos de ese programa en particular en la GUI principal cuando se terminó por última vez. Si no abre la aplicación y la cierra, debería ver Number of events:... New event available
en la parte superior de la interfaz de usuario de Event Viewers, presionar F5 para actualizar y ahora debería ver una nueva entrada de evento en la parte superior, todo va bien.
- Se puede encontrar información más detallada en la sección Eventos y Enteries de Filtrado de Eventos de la página Sysmon .
- Para obtener más información sobre el filtrado de eventos, consulte Wikipedia sobre filtrado con XPath 1.0
- Si ha cometido un error, recibirá este mensaje de advertencia
The Event Log query specified is invalid
.
- No te preocupes, ya que no hará ningún daño. Solo inténtalo de nuevo .
Ahora que tiene la consulta ordenada. Todo lo que tiene que hacer es configurar el Programador de tareas. Vea los pasos a continuación en la imagen adjunta.
Diagrama del cronograma de tareas Pasos 1-8
Programa de tareas Pasos Diagrama 1-8
NOTA FINAL SOBRE EL PASO 4 DEL DIAGRAMA:
- Es importante establecer el retraso según sus requisitos, por ejemplo,
2 seconds
en mi caso.
- Luego se establece
Repeat task...
en el mínimo permitido en TS, luego la duración es un poco más larga en 2 segundos. (Prueba esto por aplicación) .
- No utilice la
Stop all running...
casilla de verificación, ya que esto provocará un bucle desagradable de detención / inicio.
Me tomó un tiempo resolver esto, ¡pero estoy muy contento de haberlo hecho! Espero que les sea útil.