Courseiva
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.

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 →

How Courseiva writes practice questions · Editorial policy

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.