Data Collection Sets

Data Collection Sets are curated ETW capture profiles: named bundles of the low-level Windows trace providers a given investigation needs, so you do not have to know which providers to enable by hand. Each profile is built on the same tracing engine as the ETW trace toolscollection_start returns the same native trace handle those tools use — but it picks the providers, sets a hard duration cap, and keeps the recording around long enough to read.

There are two kinds of profile. Live profiles capture a problem you can reproduce on demand — you start the capture, trigger the behavior, and read the result. Boot profiles capture what happens before or during logon, the window a trace started after boot can never reach — you arm the profile, reboot the host, and harvest once it comes back online. All four tools are session-scoped and Windows-only, and require an up-to-date agent that advertises the matching capability.

INFO

These tools require a current agent version. An older agent does not advertise the tracing or boot-AutoLogger capability and rejects the call, so keep the fleet current via agent updates.

Live captures

A live capture runs autonomously in the kernel and stops itself at the profile's duration cap (300 seconds). After it stops — or after you stop it early — the recording is retained on the host for a one-hour window, then purged automatically, so there is time to read the results. A live capture consumes one of the host's four concurrent trace slots, shared with agent_trace_start.

collection_start

Starts a bounded, curated live capture from a named profile and returns the trace handle. Read the capture with agent_trace_read, list running and stopped captures with agent_trace_list, and stop it early with agent_trace_stop — all keyed by the returned trace_id.

The nine live profiles cover the investigations that come up most:

  • security-ir — incident response: process and image starts, DNS lookups, PowerShell, WMI, and antimalware (AMSI) script scanning.
  • ad-enum-detection — Active Directory reconnaissance: the LDAP and Kerberos (KDC) traffic enumeration tools generate.
  • auth-troubleshooting — the logon path end to end across Kerberos, NTLM, Netlogon, and Schannel.
  • smb-client-access — SMB share access: signing, dialect negotiation, and access-denied detail.
  • tls-schannel — the TLS handshake and the certificate chain, revocation checks included.
  • wlan-8021x — Wi-Fi and wired 802.1X association and EAP.
  • intune-mdm — Intune/MDM enrollment, CSP policy sync, and WNS check-in.
  • device-registration — Entra device registration and Workplace Join (the Settings "Fix" button, dsregcmd).
  • cert-enrollment — client certificate enrollment: Intune SCEP/PKCS profiles and AD autoenrollment.
ParameterTypeRequiredDescription
session_idstringRunning session ID from session_start; the target agent must advertise the ETW capability.
profilestringOne of the nine live profile names above. Each has a fixed provider set and a hard duration cap.
duration_secondsintegerRequested capture duration. Clamped to the profile's cap (300s); 0 or omitted uses the cap.
verbosebooleanRaise verbose-gated providers to a deeper level. Rejected for profiles that forbid it; keep the window short.

Example prompt.

"Run the incident-response capture on this host for two minutes while I reproduce the process launch."

Boot captures

Boot captures record the moments before and during logon — the failures a live trace can never reach because they happen before you can attach to the host. You arm a profile, reboot, and harvest once the host is back online. The flow is deliberate, and reboots are destructive: only reboot a host with explicit authorization, and keep the arm-to-harvest span under 30 minutes so the assessment session stays open.

The five boot profiles:

  • boot-logon — general logon and boot behavior (Group Policy, User Profiles, Winlogon) with logon-SID attribution.
  • cloud-kerberos-trust — Entra-joined Windows Hello for Business Cloud Kerberos Trust: the partial-to-full ticket exchange and on-prem single sign-on failures across a reboot, including the "no network at first logon, never recovers" case.
  • ad-auth-boot — classic domain-joined auth at boot: machine secure-channel and "trust relationship failed," "no logon servers available."
  • wlan-8021x-boot — pre-logon machine 802.1X and Wi-Fi: "the device won't get on the network at boot."
  • slow-logon — "logon takes minutes" and Group Policy not applying (Group Policy, User Profiles, Winlogon, Shell).

collection_arm_boot

Arms a boot capture so it records across the next reboot. This writes the AutoLogger configuration; the capture is kernel-armed on the next boot and survives the agent restart. Re-arming the same profile overwrites the previous arm.

ParameterTypeRequiredDescription
session_idstringRunning session ID; the target agent must advertise the boot-AutoLogger capability.
profilestringOne of the five boot profile names above.
verbosebooleanCapture verbose-gated providers at a deeper level. Errors if the profile does not permit it.

Example prompt.

"Arm the Cloud Kerberos Trust boot capture on this host — I'm about to reboot it."

collection_harvest_boot

Decodes the boot capture after the host has rebooted and come back online, returning a per-provider summary plus events. If the capture does not exist yet — the host has not rebooted, or nothing was recorded — the tool returns a graceful "not captured yet" result rather than an error, so reboot and harvest again. It supports the same narrowing filters as agent_trace_read.

ParameterTypeRequiredDescription
session_idstringRunning session ID for the same agent the capture was armed on.
profilestringThe boot profile that was armed.
provider_filterstringRestrict to one provider — an alias or a {GUID}.
event_idsarrayOnly events with these IDs (0–65535).
since / beforestringRFC3339 lower/upper bounds.
max_eventsnumberMaximum decoded events. Default 100, hard cap 1000.
min_severitystringcritical, error, warning, informational, or verbose — returns that level or more severe.
property_key / property_containsstringKeep events whose decoded property_key value contains property_contains. Supply both.

Example prompt.

"The host is back online — harvest the boot capture and show me the Kerberos and network events from around logon."

collection_disarm_boot

Removes a boot capture armed by collection_arm_boot — deletes the AutoLogger configuration so it is not re-armed on the next boot. It is a one-shot cleanup and idempotent (an already-removed capture reports that it was already gone). By default (delete_etl=false) only the configuration is removed and the recorded .etl stays on disk, so collection_harvest_boot can be re-run with different filters; pass delete_etl=true to also irreversibly delete the recording once the investigation is done.

ParameterTypeRequiredDescription
session_idstringRunning session ID for the same agent the capture was armed on.
profilestringThe boot profile that was armed.
delete_etlbooleanAlso delete the recorded boot .etl. Default false keeps it so a harvest can be re-run.

Example prompt.

"Disarm the boot capture on this host and delete the recording — we're done with it."

See Also

Data Collection Sets build on the tracing primitives documented in Agent Tools — use agent_trace_read, agent_trace_list, and agent_trace_stop to read and manage a capture once it is running. For the session that scopes every capture, see Sessions. For keeping agents current so these tools are available, see Agent Updates.