🔒 Security-first IT & cloud for Central Oregon 541-508-8797  |  ✉ support@thelocalgeekshop.com

Windows Event ID Lookup

Home / Free Tools / Event ID Lookup
IDMeaningLogCategoryWhat it tells you
4624Successful logonSecurityAuthenticationAn account logged on. Check the Logon Type: 2 interactive, 3 network, 4 batch, 5 service, 7 unlock, 8 network cleartext, 10 RDP, 11 cached credentials.
4625Failed logonSecurityAuthenticationA logon attempt failed. The Status and Sub Status codes give the real reason: 0xC0000064 no such user, 0xC000006A wrong password, 0xC0000234 account locked, 0xC0000072 account disabled.
4634LogoffSecurityAuthenticationA session ended. Pairs with 4624 by Logon ID.
4647User-initiated logoffSecurityAuthenticationThe user chose to log off, rather than the session being torn down.
4648Logon with explicit credentialsSecurityAuthenticationSomeone used runas or supplied different credentials. A normal admin behaviour and a normal lateral-movement behaviour, which is why it is worth watching.
4672Special privileges assignedSecurityAuthenticationThe logon session was granted administrator-equivalent privileges. Effectively "an admin just logged on".
4740Account locked outSecurityAuthenticationLockout threshold reached. The Caller Computer Name tells you where the bad attempts came from — often a stale mapped drive or a service running as the user.
4767Account unlockedSecurityAuthenticationAn administrator unlocked an account.
4768TGT requestedSecurityKerberosKerberos authentication ticket issued. On a domain controller, this is the authoritative record of a domain logon.
4769Service ticket requestedSecurityKerberosA service ticket was issued. High volume; a burst of requests for many services from one account is a Kerberoasting indicator, especially with RC4 encryption type 0x17.
4771Pre-authentication failedSecurityKerberosKerberos equivalent of a bad password. Failure code 0x18 is a wrong password, 0x12 is a disabled or locked account.
4776NTLM credential validationSecurityAuthenticationThe domain controller validated credentials over NTLM. Error 0xC000006A is a wrong password.
4778Session reconnectedSecuritySessionAn RDP or console session was reconnected.
4779Session disconnectedSecuritySessionA session was disconnected but not logged off — the session is still running.
1149RDP authentication succeededTerminalServices-RemoteConnectionManagerSessionNetwork-level authentication for RDP passed. Note this fires before the logon itself, so it is not proof of a successful logon.
4720User account createdSecurityAccount managementA new account exists. Should be rare and always attributable.
4722User account enabledSecurityAccount managementA disabled account was re-enabled.
4724Password reset attemptedSecurityAccount managementAn administrator reset another account password.
4725User account disabledSecurityAccount management
4726User account deletedSecurityAccount management
4738User account changedSecurityAccount managementAttributes changed. The event lists which.
4728Member added to global security groupSecurityAccount managementWatch specifically for Domain Admins and Enterprise Admins.
4732Member added to local security groupSecurityAccount managementWatch for the local Administrators group on servers and workstations.
4756Member added to universal security groupSecurityAccount management
1102Audit log clearedSecurityAudit policySomeone cleared the Security log. There is almost no legitimate reason for this on a server. Treat it as an incident until proven otherwise.
4719System audit policy changedSecurityAudit policyAudit settings were modified — often the step before an attacker stops generating evidence.
4688New process createdSecurityProcessProcess creation with the command line, if command-line auditing is enabled. The single most useful event for investigation, and off by default.
4697Service installedSecurityPersistenceA service was installed, recorded in the Security log.
7045New service installedSystemPersistenceA service was installed, recorded in the System log. A very common persistence mechanism, and often the clearest sign of one.
4698Scheduled task createdSecurityPersistenceAnother routine persistence mechanism. Should be attributable to a change.
4699Scheduled task deletedSecurityPersistence
4702Scheduled task updatedSecurityPersistence
4104Script block loggingPowerShell/OperationalPowerShellThe actual PowerShell that ran, including code assembled at runtime. Deobfuscates most encoded commands. Enable this.
4103Module / pipeline loggingPowerShell/OperationalPowerShellPipeline execution details.
400Engine state changed to AvailableWindows PowerShellPowerShellA PowerShell session started. The HostApplication field shows what launched it.
5140Network share accessedSecurityFile shareA share was accessed. Watch for ADMIN$, C$ and IPC$ from unexpected sources.
5145Detailed share access checkSecurityFile sharePer-file access checks. Very high volume; useful scoped to sensitive shares.
5142Network share addedSecurityFile share
5144Network share deletedSecurityFile share
6005Event log service startedSystemBootEffectively "the system booted".
6006Event log service stoppedSystemBootA clean shutdown.
6008Unexpected shutdownSystemBootThe previous shutdown was not clean. Pair with Kernel-Power 41.
41Kernel-Power: reboot without clean shutdownSystemBootPower loss, hard reset, thermal event or a bugcheck that could not write a log. On a server, look at the UPS and the PSU first.
1074Shutdown initiatedSystemBootNames the process and user that requested the shutdown or restart, and the reason if one was given.
7036Service entered running or stopped stateSystemServiceVery high volume and mostly noise, but useful to confirm exactly when a specific service stopped.
7031Service terminated unexpectedlySystemServiceA service crashed. Includes how many times and what recovery action was taken.
7034Service terminated unexpectedly (no recovery)SystemService
7000Service failed to startSystemServiceUsually a permissions problem, a missing dependency, or a bad path.
55NTFS structure corruptionSystemDiskThe file system is damaged on that volume. Run chkdsk and then check the disk itself — this is often the first sign of failing hardware.
51Paging error on diskSystemDiskA read or write to the page file failed. Frequently a dying drive.
7Bad blockSystemDiskThe device has a bad block. Take it seriously on a single disk.
11Driver detected a controller errorSystemDiskOften cabling, a controller fault, or a drive on the way out.
153I/O operation retriedSystemDiskThe storage stack retried a failed request. In volume, a strong failing-disk indicator.
129Reset to device issuedSystemDiskThe storage controller reset the device because it stopped responding.
1116Malware detectedWindows DefenderDefenderDefender found something. 1117 records what it did about it.
1117Action taken on malwareWindows DefenderDefenderRemediation succeeded.
5007Defender configuration changedWindows DefenderDefenderSettings changed — including exclusions being added, which is a common attacker step.
1000Application errorApplicationApplicationAn application crashed. Gives the faulting module and offset.
1001Windows Error ReportingApplicationApplicationThe crash bucket for a 1000, often with more detail.

A curated set, not a dump

Windows generates thousands of distinct event IDs and the overwhelming majority are noise. The 59 above are the ones that actually come up when you are investigating an incident, chasing an account lockout, or working out why a server rebooted at 3 a.m. Every entry has been checked against Microsoft's documented meaning rather than copied from a listicle.

The three that matter most, and are usually not enabled

4688 with command line auditing. Process creation on its own is moderately useful; process creation including the full command line is transformative. It is the difference between knowing PowerShell ran and knowing what it ran. Enable "Include command line in process creation events" in Group Policy — it is off by default.

4104 script block logging. Records the actual PowerShell that executed, after any runtime assembly. That means it defeats most obfuscation and base64-encoded commands, because it logs what was really run rather than what was typed. Also off by default.

1102. Nobody needs to enable this one, but somebody should be alerted on it. Clearing the Security log has essentially no legitimate operational reason on a server.

Reading a 4625 properly

A failed logon on its own tells you very little. The useful detail is in the sub-status code:

The pattern across accounts and source addresses matters far more than any single event.

Chasing an account lockout

The complaint is always "my account keeps locking". The answer is almost always a stale credential somewhere, not an attacker. Find the 4740 on the domain controller and read the Caller Computer Name — that is the machine generating the bad attempts. Then on that machine look for a mapped drive with saved credentials, a scheduled task or service running as the user, a phone with an old Exchange password, or a saved RDP session.

Retention is the thing people get wrong

Default Security log size fills in hours on a busy domain controller, and then rolls. By the time an incident is noticed — typically weeks later — the evidence is gone. Two fixes: raise the log size substantially, and forward events off the box, so that clearing a local log does not destroy the record. Windows Event Forwarding is built in and free; any SIEM does it better.

Setting up audit policy, log retention and forwarding that actually holds evidence is part of managed IT, and reviewing whether yours would survive an investigation is part of a security audit.

Need a hand with the thing you're troubleshooting?

We do managed IT, networking and security for businesses across Central Oregon.

Managed IT Services Call 541-508-8797