Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
windows-eventlog-native
Native Windows Event Log client for Rust — EvtQuery / EvtNext / EvtRender /
(eventually) EvtSubscribe. Streams parsed Event records from local
Security / System / Application channels with the EventData map already
extracted into a HashMap<String, String>, no wevtutil or Get-WinEvent
shell-out required.
Status
0.1.0-dev — pre-alpha, expect breaking changes before 0.1.0. Part of the
icedracon Rust offensive AD ecosystem.
What it does
Thin, allocation-conscious wrapper around the modern Event Log API
(wevtapi.dll — EvtQuery, EvtNext, EvtRender with EvtRenderEventXml).
Renders each event to RenderedXml, parses <System> + <EventData> via
quick-xml, and hands back a strongly-typed [Event] with the FILETIME already
converted to chrono::DateTime<Utc> and the <Data Name="..."> children folded
into a map.
The intended consumer is red-team / OPSEC self-check tooling: after running a scan or logon, ask the log directly "did I light up 4624 / 4625 / 4648 / 4662 / 4768 / 4769 / 4776?" without spawning a PowerShell child process.
Usage
use ;
let iter = query?;
for evt in iter.take
Security-channel queries require membership in Event Log Readers or Administrators. Application is always readable.
What works / what does not (this version)
- Working: RenderedXml parsing,
EventDataextraction, FILETIME conversion, error taxonomy, public API shape,EvtQuery/EvtNextiterator oncfg(windows)viaEvtRender(EvtRenderEventXml). - Stubbed / TODO:
EvtSubscribepush mode,EVT_HANDLEbookmarks, remote session (EvtOpenSession), message-string resolution viaEvtFormatMessage. See inline// TODO(0.2):markers. - Not yet: EventLog channel enumeration, publisher metadata cache, high-volume
batching via
EvtNextarray-size tuning.
Everything above the "working" line is fair game to fail on non-toy queries.
Related icedracon crates
windows-wmi-com— in-process WMI via COM (~10x faster than DCOM-over-RPC for local queries).winrm-pentest— async WinRM 2.0 client (NTLM/Kerberos/CredSSP) for cross-platform remote PowerShell.
Cluster: Windows-native higher-level telemetry + admin surfaces. This crate covers the live event pipeline; the other two cover CIM/WMI and remote WSMan.
License
MIT (c) 2026 zevs