mediumMultiple ChoiceObjective-mapped
SC-200 Practice Question: A SOC analyst is building a scheduled analytics…
A SOC analyst is building a scheduled analytics rule in Microsoft Sentinel to detect PowerShell downloads from external IPs. The rule queries the DeviceProcessEvents table from Microsoft Defender for Endpoint forwarded to Sentinel. The analyst wants to reduce alert fatigue by excluding processes initiated by known system accounts (e.g., SYSTEM). Which KQL operator should the analyst use in the query?
⚠ Common exam trap
Many candidates confuse `!contains` (case-insensitive) with `!has` (case-sensitive) or use `!startswith` without accounting for the full account name format, leading to either over-filtering or under-filtering of the SYSTEM account.
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
✓
where InitiatingProcessAccountName !has "NT AUTHORITY\SYSTEM"
The `!has` operator performs a case-sensitive substring match, which is the most reliable way to exclude the exact string `NT AUTHORITY\SYSTEM` from the `InitiatingProcessAccountName` field. This ensures that only processes started by the SYSTEM account (as reported by Microsoft Defender for Endpoint) are filtered out, reducing alert fatigue without accidentally excluding other accounts that might contain similar substrings.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
where InitiatingProcessAccountName !contains "SYSTEM"
Why it's wrong here
This excludes any account that has 'SYSTEM' anywhere in the name, potentially excluding legitimate system accounts unrelated to SYSTEM.
- ✗
where InitiatingProcessAccountName !startswith "NT AUTHORITY"
Why it's wrong here
This removes all NT AUTHORITY accounts (e.g., LOCAL SERVICE, NETWORK SERVICE), which is too broad and may miss valid threat detections.
- ✓
where InitiatingProcessAccountName !has "NT AUTHORITY\SYSTEM"
Why this is correct
This filters out records where the account name contains the exact substring 'NT AUTHORITY\SYSTEM', effectively excluding the SYSTEM account.
- ✗
where InitiatingProcessAccountName !matches regex "^NT AUTHORITY\\SYSTEM$"
Why it's wrong here
While this regex works, it is complex and not the most straightforward method; a simple !has is preferred for readability.
Go deeper
Related to this question
About these practice questions
This SC-200 question is part of Courseiva's 209-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This SC-200 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-200 exam.