Führen Sie Ihre Abfrage in Erweiterte Jagd, dann senden Sie die gleiche Abfrage an Microsoft Graphs runHuntingQuery, um die Ergebnisse als JSON zu erhalten. Der Export-Button des Portals erzeugt eine tabellenkalkulationsähnliche Datei, die LogTotal heute nicht lesen kann. Die erweiterte Jagd speichert 30 Tage Daten, daher muss alles, was älter ist, aus Sentinel oder einem anderen Ort stammen, wo Sie Defender-Daten streamen.
Defender XDR hält Endpunkt-, Identitäts-, E-Mail- und Cloud-App-Telemetrie an einem abfragbaren Ort, was ihn zum ersten Anlaufpunkt in den meisten Microsoft-Shop-Ermittlungen macht. Prime Core hat 17.197 Erkennungsregeln für Microsoft Defender-Daten, die 659 MITRE ATT&CK-Techniken zugeordnet sind. Unten finden Sie, wie Sie ein Stück herausziehen, bereinigen und kostenlos in LogTotal untersuchen können.
Bevor Sie beginnen
Berechtigungen. Für Graph benötigen Sie die Berechtigung ThreatHunting.Read.All. Der angemeldete Benutzer benötigt auch eine Defender-Rolle, die erweiterte Jagd erlaubt.
Grenzen. Abfragen laufen nach ein paar Minuten ab und die Ergebnisse sind begrenzt. Planen Sie, nach Zeit oder Gerät zu teilen.
Die Tabellen. DeviceProcessEvents, DeviceNetworkEvents, DeviceLogonEvents, DeviceFileEvents, DeviceRegistryEvents, DeviceEvents (eine gemischte Tüte, einschließlich ASR- und AMSI-Ereignisse), EmailEvents, IdentityLogonEvents und AlertInfo mit AlertEvidence. Die Zeitspalte ist Zeitstempel.
Die Beispiele folgen der Microsoft-Dokumentation, überprüft im Oktober 2026.
Schritt 1: Schreiben Sie die Abfrage
DeviceProcessEvents
| where Timestamp between (datetime(2026-10-19) .. datetime(2026-10-20))
| where DeviceName startswith "ws-042"
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine,
InitiatingProcessFileName, InitiatingProcessCommandLine, SHA256
Führen Sie es zuerst im Portal aus. Gerätenamen in Defender sind oft FQDNs, weshalb startswith besser funktioniert als ==.
Schritt 2: Export über Microsoft Graph
Connect-MgGraph -Scopes "ThreatHunting.Read.All"
$kql = @"
DeviceProcessEvents
| where Timestamp between (datetime(2026-10-19) .. datetime(2026-10-20))
| where DeviceName startswith "ws-042"
"@
$resp = Invoke-MgGraphRequest -Method POST `
-Uri "https://graph.microsoft.com/v1.0/security/runHuntingQuery" `
-Body (@{ Query = $kql } | ConvertTo-Json) -ContentType "application/json"
$resp.results | ForEach-Object { $_ | ConvertTo-Json -Depth 10 -Compress } |
Out-File ws042_proc_1019.jsonl -Encoding utf8
Jede Zeile kommt als ein JSON-Objekt pro Zeile zurück. Für mehrere Tage oder Geräte, durchlaufen Sie Tagesintervalle, um unter den Grenzen zu bleiben.
Schritt 3: Hochladen, bereinigen und in LogTotal überprüfen
- Hochladen. Öffnen Sie logtotal.com und laden Sie die .jsonl Datei hoch.
- Bereinigen.
- Überprüfen.
Wenn es schief läuft
| Symptom | Wahrscheinliche Ursache | Fix |
|---|---|---|
| 403 von Graph | Fehlende ThreatHunting.Read.All-Zustimmung oder Defender-Rolle | Erteilen Sie Zustimmung; überprüfen Sie Ihre Rolle |
| Abfrage läuft ab oder gibt Teil-Ergebnisse zurück | Zu viele Daten in einer Abfrage | Verengen Sie das Zeitfenster oder die Geräteauswahl |
| Nichts älter als 30 Tage | Erweiterte Jagd-Aufbewahrung | Verwenden Sie Sentinel oder Ihr Streamingziel |
| Zeilenanzahl stoppt bei einer runden Zahl | Ergebniskappe | Fenster teilen |
| Keine Zeilen für ein bekanntes Gerät | Namensübereinstimmung (Kurzname vs FQDN) | Verwenden Sie startswith oder has |
FAQ
Kann ich die rohen EVTX von einem Gerät erhalten?
Ja, mit Live Response in Defender für Endpoint: getfile zieht Dateien, einschließlich exportierter EVTX, von einem Gerät.
Ist dies dasselbe wie Sentinel?
Nein, obwohl sie sich im einheitlichen Defender-Portal überschneiden. Sentinel hält eine längere Historie.