Tools / Event IDs / Event ID 4719

Event ID 4719: system audit policy changed

What Event ID 4719 (system audit policy changed) means, the fields to check, what is normal and what is suspicious, with PowerShell and KQL queries to find it.

Log: Security · Severity: High · MITRE ATT&CK T1562.002 · Updated 2026-11-03

Event ID 4719 means the system's audit policy changed. Attackers who know what they are doing turn auditing down before the noisy part of an intrusion, so a 4719 that removes success or failure logging from key categories is a strong sign someone wants the SOC blind. The good news: the change itself is logged, and it is rare outside Group Policy updates.

The fields that matter

FieldWhat it tells you
Subject > Account NameWho changed it. The machine account or SYSTEM usually means Group Policy did it.
Category / SubcategoryWhich part of auditing changed, for example Logon/Logoff > Logon, or Detailed Tracking > Process Creation.
ChangesSuccess removed or Failure removed reduces logging. Success added increases it.

What is normal

A burst of 4719 events, written by SYSTEM, when a new audit GPO is first applied or changed. They match a change your team made on purpose.

When Event ID 4719 is suspicious

Common false positive: A badly scoped GPO, or two GPOs that disagree, can flip audit settings back and forth on every refresh. If you see the same 4719 every 90 minutes, look at Group Policy before you look for an attacker.

Find Event ID 4719 with PowerShell

Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4719; StartTime=(Get-Date).AddDays(-7)} -MaxEvents 50 |
  ForEach-Object {
    $d = [ordered]@{ Time = $_.TimeCreated; Computer = $_.MachineName }
    ([xml]$_.ToXml()).Event.EventData.Data | ForEach-Object { $d[$_.Name] = $_.'#text' }
    [pscustomobject]$d
  } | Format-List

Microsoft Sentinel (KQL)

SecurityEvent
| where TimeGenerated > ago(7d) and EventID == 4719
| project TimeGenerated, Computer, Account, Activity, EventData
| order by TimeGenerated desc

Related events

FAQ

How do I see the current audit policy?

Run auditpol /get /category:* in an elevated prompt. It shows the effective setting for every subcategory.

Can an attacker change the audit policy without a 4719?

Changing it through the normal APIs writes 4719. Tampering with the policy files directly or stopping the event log service leaves other traces, such as a gap in events or System Event ID 1100.