Estoy tratando de rastrear la ocurrencia de eventos de seguridad específicos. Para lograr esto, quiero que se muestre un mensaje siempre que estos eventos se registren en el registro de seguridad de Windows. Debido a que mostrar un mensaje es una característica obsoleta en el Programador de tareas, estoy usando los comandos de Powershell para lograr esto de la siguiente manera:
Desencadenar
On event - Log: Security, Source: Microsoft-Windows-Eventlog, EventID: 1102
Acción
-executionpolicy bypass -windowstyle hidden -file C:\1102.ps1
1102.ps1
Add-Type -AssemblyName System.Windows.Forms
$lastEvt = Get-WinEvent -LogName 'Security' -MaxEvents 20 | ? { $_.Id -eq 1102 } | select -First 1
[System.Windows.Forms.MessageBox]::Show(($lastEvt.Message), 'Event ID: 1102')
El Id. De evento 1102 ocurre cada vez que se borra el registro de auditoría. Para activar esto, simplemente entro en el Visor de eventos, hago clic derecho en el registro de seguridad y hago clic en 'Borrar registro ...'. Poco después, aparece un mensaje según lo previsto.
Sin embargo, cuando intento activar el Id. De evento 4719 al cambiar la política de auditoría del sistema, no se muestra ningún mensaje a pesar de que el evento se haya registrado en el registro de seguridad. Ambos disparadores se configuran de manera similar en el Programador de tareas, por lo que no me queda claro por qué esto funciona para uno y no para el otro.