Design solutions that align with security best practices and priorities →hardMultiple ChoiceObjective-mapped
KQL Query to Identify Malware Alerts on Unmanaged Devices in Microsoft Sentinel
Exhibit
SecurityAlert | where AlertName == "Malware detected" | extend DeviceName = tostring(CompromisedEntity) | join kind=inner ( DeviceInfo | where Timestamp > ago(7d) | project DeviceName, OSVersion, IsManaged ) on DeviceName | where IsManaged == false
Refer to the exhibit. You are analyzing a KQL query in Microsoft Sentinel. What is the purpose of this query?
Quick Answer
The answer is to identify malware alerts on unmanaged devices in Microsoft Sentinel. This is correct because the KQL query first filters the `DeviceInfo` table for entries where `IsManaged` is `false`, isolating devices not under endpoint management, then joins that result with the `SecurityAlert` table to find alerts whose `AlertName` contains the string 'Malware'. The join ensures only alerts tied to those specific unmanaged devices are returned, rather than all malware alerts or a general device inventory. On the Microsoft Cybersecurity Architect exam, this tests your ability to interpret KQL logic for security operations scenarios, often appearing in questions that require distinguishing between managed and unmanaged device telemetry. A common trap is assuming the query counts all malware alerts, but the `IsManaged` filter is the critical differentiator. Memory tip: think "Unmanaged + Malware = Unmalware" or simply remember that `IsManaged == false` is the gatekeeper for unmanaged device alerts.
⚠ Common exam trap
Watch out — candidates often confuse the purpose of the query as simply listing all malware alerts (Option B) or showing device inventory (Option D), overlooking the critical `IsManaged == false` filter that narrows the scope to unmanaged devices.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Identify malware alerts on unmanaged devices
The query uses the `DeviceInfo` table to filter for devices where `IsManaged` is `false`, then joins with `SecurityAlert` to find alerts where `AlertName` contains 'Malware'. This specifically identifies malware alerts generated on unmanaged devices, not all malware alerts or a general device inventory.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Correlate malware alerts with device OS version
Why it's wrong here
While it includes OSVersion, the main filter is unmanaged status.
- ✗
List all malware alerts in the last 7 days
Why it's wrong here
It only shows alerts from unmanaged devices, not all.
- ✓
Identify malware alerts on unmanaged devices
Why this is correct
Exactly: filters on IsManaged == false.
- ✗
Show device inventory for unmanaged devices
Why it's wrong here
It shows alerts, not inventory.
Go deeper
Related to this question
About these practice questions
One of 208 original SC-100 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
Same concept, more angles
1 more way this is tested on SC-100
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. Refer to the exhibit. You are analyzing a KQL query in Microsoft Sentinel that detects machines with more than two malware alerts in a day. The query returns no results even though you know there are machines with multiple malware alerts. What is the most likely reason?
medium- A.The 'summarize' function is incorrectly used and creates duplicate counts.
- B.The query filters out alerts with severity less than 'High'.
- C.The query does not include a time range filter, so it returns data from all time.
- ✓ D.The alert name in the environment is not exactly 'Malware detected'; it might include a suffix like 'on endpoint'.
Why D: The KQL query likely uses a hardcoded string 'Malware detected' in a where clause to filter alerts. If the actual alert names in the environment include a suffix like 'on endpoint' (e.g., 'Malware detected on endpoint'), the exact string match fails, causing the query to return no results. This is a common issue when alert naming conventions vary across Microsoft Defender for Endpoint or other data sources ingested into Sentinel.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This SC-100 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SC-100 exam.