When a device is missing from the Defender portal, reports only now and then, or won't offboard cleanly, the sensor's own event log usually names the problem. This quick reference groups the SENSE event IDs you're most likely to meet, with the usual cause and the first check. The meanings follow Microsoft's event table; the checks are practical next steps.
Codes in this quick reference
Event ID 3 (SENSE): Defender for Endpoint service failed to startEvent Viewer (Microsoft-Windows-SENSE)Event ID 19 (SENSE): OOBE (Windows Welcome) hasn't completed yetEvent Viewer (Microsoft-Windows-SENSE)Event ID 20 (SENSE): can't wait for OOBE (Windows Welcome) to completeEvent Viewer (Microsoft-Windows-SENSE)Event ID 42 or 43 (SENSE): a sensor component failed to perform an actionEvent Viewer (Microsoft-Windows-SENSE)Event ID 106 or 107 (SENSE): service failed to start, problem with the MsSense DLL moduleEvent Viewer (Microsoft-Windows-SENSE)Event ID 100 (SENSE): the SenseCE executable failed to startEvent Viewer (Microsoft-Windows-SENSE)Event ID 85 (SENSE): failed to trigger the SenseIR executableEvent Viewer (Microsoft-Windows-SENSE)Event ID 8 (SENSE): service failed to clean its configurationEvent Viewer (Microsoft-Windows-SENSE)
+ 43 more codes in the tables below.
How to read these codes#
SENSE is Microsoft's internal name for the behavioral sensor behind Defender for Endpoint. It logs to Applications and Services Logs › Microsoft › Windows › SENSE › Operational (Microsoft-Windows-SENSE/Operational). Most messages include a value filled in at runtime, such as a failure code, URL, service name or limit, and that value often tells you more than the ID. Filter on Critical, Error and Warning to find problems, but keep the informational events in view: they show what "good" looks like.
# Errors and warnings from the sensor log in the last 24 hours
Get-WinEvent -FilterHashtable @{
LogName = 'Microsoft-Windows-SENSE/Operational'
Level = 1, 2, 3
StartTime = (Get-Date).AddHours(-24)
} | Select-Object TimeCreated, Id, LevelDisplayName, Message |
Format-Table -AutoSize -Wrap- The onboarding script has its own numbers. Onboarding scripts log to Windows Logs › Application under the source
WDATPOnboarding, and the IDs overlap: script event 40 means the onboarding status isn't 1, while SENSE event 40 means the battery is low. - MDM events can sit in a second log. The event table includes CSP events (1800 to 1840), recorded when an MDM service such as Intune reads or writes Defender for Endpoint values, and Microsoft's onboarding guide shows event 1819 in DeviceManagement-Enterprise-Diagnostics-Provider › Admin. Check both logs.
- Many IDs are routine. Treat an event as a problem when it's an error that repeats, or when it matches your symptom.
Note: Events 4, 5, 6, 7 and 15 (server contact, connection failures, and missing or unreadable onboarding parameters) have full walkthroughs on this site, so they aren't repeated below. See Defender for Endpoint onboarding failures, Device shows "Inactive" or "No sensor data" and Moving to streamlined connectivity.
Start-up and onboarding events#
Service start-up and Windows setup#
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
3 | The service failed to start (failure code in the text) | Start-up blocked; the reason is usually in nearby events | Read events 42, 43, 45, 106 and 107 around it; run sc.exe query sense |
19 | OOBE (Windows Welcome) hasn't completed | Device still in setup; the service waits for Windows updates to finish | Let setup and updates finish, restart, then look for event 18 |
20 | The service can't wait for OOBE to complete | Internal error while waiting for setup | Restart; install any pending Windows updates |
42, 43 | A sensor component failed to perform an action (component and exception in the text) | Internal error; the service didn't start | Note the component and restart; contact Microsoft Support if it repeats |
106, 107 | The service failed to start: problem loading the MsSense DLL module | Fault in the sensor's own module | Contact Microsoft Support with a Client Analyzer collection |
100 | The SenseCE executable failed to start | A sensor process failed at start-up | Restart; contact Support if it persists |
85 | Failed to trigger the SenseIR executable | A sensor process didn't start | Restart; contact Support if it persists |
Onboarding#
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
8 | The service failed to clean its configuration | Harmless during onboarding; during offboarding the service keeps running | Offboarding: restart the device |
9 | The service failed to change its start type | Onboarding or offboarding didn't complete cleanly | Onboarding: restart and rerun the package. Offboarding: contact Support |
10 | The service failed to persist the onboarding information | Onboarding didn't complete | Rerun the onboarding package; contact Support if it persists |
11 | Onboarding or reonboarding completed | Success | None; allow several hours for the device to appear in the portal |
12 | Failed to apply the default configuration | Temporary condition | None; it should clear shortly |
25, 26 | Failed to reset the health status, or to set the onboarding status, in the registry | The device reports, but may not look onboarded in the registry or Configuration Manager | Check OnboardingState under HKLM\SOFTWARE\Microsoft\Windows Advanced Threat Protection\Status; redeploy the package |
27 | Failed to enable SENSE aware mode in Microsoft Defender Antivirus; onboarding failed | Defender Antivirus couldn't switch into the mode it uses with the sensor | Confirm real-time antimalware protection is running; redeploy the package |
30 | Failed to disable SENSE aware mode in Microsoft Defender Antivirus | The reverse of event 27 failed | Same checks as 27; contact Support if it persists |
33 | The service failed to persist the SENSE GUID | The device identifier wasn't saved, so the device can appear twice in the portal | Check registry permissions; look for duplicate devices |
Offboarding#
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
29 | Failed to read the offboarding parameters | No internet access, or an expired offboarding package | Restore connectivity, download a fresh offboarding package and rerun it |
32 | The service failed to request to stop itself after offboarding | Error at the end of offboarding | Confirm the Sense start type is Manual (sc.exe qc sense), then restart |
44 | Offboarding completed | Success | None |
56 | Failed to remove the Secure ETW autologger | Cleanup error during offboarding | Contact Support |
Telemetry and dependent service events#
The sensor works with other Windows services, notably Connected User Experiences and Telemetry (DiagTrack). Since Windows 10 version 1809 the EDR service doesn't depend directly on DiagTrack, but Microsoft still advises checking it when devices aren't reporting correctly: sc qc diagtrack should show AUTO_START.
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
17 | Failed to change the Connected User Experiences and Telemetry service location | Windows telemetry service problem | Confirm DiagTrack is enabled and running; rerun the onboarding package |
28 | Registration with the Connected User Experiences and Telemetry service failed | Windows telemetry service problem | Same as 17 |
34 | Couldn't add itself as a dependency of the telemetry service; onboarding failed | DiagTrack disabled or failing | sc config diagtrack start=auto and sc start diagtrack, then redeploy |
62 | Failed to start the Connected User Experiences and Telemetry service | DiagTrack disabled or broken | Check Microsoft-Windows-UniversalTelemetryClient/Operational |
68 | A service's start type is unexpected (name, actual and expected type in the text) | A Group Policy setting, baseline or script changed a service the sensor needs | Restore the expected start type, then find what changed it |
69 | A service the sensor needs is stopped | The named service stopped or failed | Start it; contact Support if it keeps happening |
87, 89 | Can't start an external service, or can't update its start type | The sensor's own repair attempt failed | Fix the service manually; contact Support |
Events 63, 64, 86 and 88 record the sensor fixing a start type or restarting a service by itself. They're informational, but find out what keeps changing the start type, and contact support if event 64 keeps reappearing.
Connectivity, authentication and upload events#
The sensor connects over WinHTTP in the system context, so the proxy that matters is what netsh winhttp show proxy reports (or a static proxy set for the sensor), not the browser's.
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
99 | Sense hit an error communicating with the server (error and result in the text) | Network, proxy or TLS inspection problem | Read the events that follow; run the Client Analyzer; check the WinHTTP proxy |
401, 409 | Failed to generate, or to open, a crypto key | Problem with the sensor's authentication key | Contact Support only if the device isn't reporting |
402 | Failed to persist the authentication state | Same area as 401 | Contact Support only if the device isn't reporting |
405 | Failed to communicate with the authentication service (HRESULT and HTTP error code in the text) | A request to the authentication service didn't get through | Informational if occasional; if it repeats and reporting stops, check proxy, firewall and TLS inspection |
406 | Request rejected by the authentication service | Unexpected response from the service | Informational; a later event 403 (registration completed) shows it succeeded |
411 | Cyber telemetry upload suspended: invalid or expired token | The token needs refreshing | None if event 412 (upload resumed) follows; otherwise treat it as connectivity |
92 | Stopped sending sensor cyber data: data quota exceeded | Throttling until the quota period passes | None; event 93 shows sending resumed |
37 | A module is about to exceed its quota | Close to its allocation for the current 24-hour window | None; event 92 may follow |
38, 40 | Network (metered) or battery identified as low; the server is contacted every N minutes | Metered connection or low battery | None; events 39 and 41 mark the return to normal |
97 | Connectivity issues to the cloud for the DLP scenario | Network problem affecting DLP classification | Check network connectivity; event 98 means it was restored |
Sensor components, configuration and MDM events#
Event tracing and drivers#
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
45 | Failed to register and start an event trace session | ETW session creation failed, so the service didn't start | Restart; contact Support if it persists |
46 | Event trace session not started: lack of resources | Too many active trace sessions; it retries every minute and reports no sensor events meanwhile | Run logman query -ets to see what else is tracing; event 47 means it recovered |
48 | Failed to add a provider to an event trace session | That provider's events aren't reported | Check the error code; contact Support if it persists |
55 | Failed to create the Secure ETW autologger | Error creating the sensor's protected trace logger | Restart; contact Support if it persists |
81 | Failed to create the Defender for Endpoint ETW autologger | Error creating the ETW session | Restart; contact Support if it persists |
65 | Failed to load the Microsoft Security Events Component Minifilter driver (MsSecFlt.sys) | The minifilter didn't load | Look for MsSecFlt in fltmc filters; restart; contact Support if it persists |
Cloud configuration, tags and running mode#
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
51, 52 | New cloud configuration failed to apply; last known good (51) or default (52) configuration used | A bad configuration file from the service | After 52 the sensor retries within 5 minutes; contact Support if event 50 (applied) doesn't follow, or 51 keeps repeating |
74 | A device tag in the registry exceeds the length limit | The tag set through the registry is too long | Shorten the tag; the limit is in the event text |
84 | The sensor set the Defender Antivirus running mode (force passive mode and result in the text) | Active or passive mode being applied | Informational; compare with AMRunningMode from Get-MpComputerStatus |
90 | Failed to configure System Guard Runtime Monitor for the cloud geo-region | System Guard Runtime Monitor can't send attestation data | Check permissions on HKLM\Software\Microsoft\Windows\CurrentVersion\Sgrm; then contact Support |
Intune and other MDM (CSP) events#
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
1819 | CSP: Failed to Set Node's Value (NodeId, TokenName and Result in the text) | The MDM service couldn't write a Defender for Endpoint value, such as the onboarding blob | Note the TokenName; match it with Intune error 0x87D1FDE8 or 0x87D101A9; confirm HKLM\SOFTWARE\Policies\Microsoft\Windows Advanced Threat Protection exists |
1831 | CSP: Sense is configured as delay-start and hasn't started yet | Intune checked SenseIsRunning before the delayed-start service ran | None; Microsoft says that SenseIsRunning noncompliance should clear within 24 hours |
1836 | CSP: Set Device Tagging Group exceeded the allowed limit | The device tag in the MDM policy is too long | Shorten the tag in the policy |
In the System log#
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
1 (System) | The backing file for the real-time session "SenseNdrPktmon" reached its maximum size | Heavy network traffic; the capped capture session skips some packets | None; it's informational |
For installer errors on Windows Server 2012 R2 and 2016, see the unified solution guide.
How to verify a fix#
- Restart the device and confirm
sc.exe query sensereportsRUNNINGandOnboardingStateis1. - Read the log since the restart: a healthy start shows event 1 (service started) and event 4 (contacted the server), usually with 50 or 53 for the cloud configuration, and no new errors from the tables above.
- In the Microsoft Defender portal, open Assets › Devices and check the device's sensor health state is Active with a current last-seen time. For Intune-managed devices, Endpoint security › Endpoint detection and response › EDR Onboarding Status should show it as onboarded.
- If connectivity was the problem, rerun the Client Analyzer and confirm the service URLs pass.
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows Advanced Threat Protection\Status' |
Select-Object OnboardingState, OrgId
$boot = (Get-CimInstance Win32_OperatingSystem).LastBootUpTime
Get-WinEvent -FilterHashtable @{ LogName = 'Microsoft-Windows-SENSE/Operational'; StartTime = $boot } |
Where-Object Id -in 1, 4, 50, 53 | Select-Object TimeCreated, Id, MessageReferences#
- Review events and errors using Event Viewer (source of the event table)
- Troubleshoot Microsoft Defender for Endpoint onboarding issues

