Sdílet prostřednictvím


Rozšířené proaktivní vyhledávání pomocí PowerShellu

Platí pro:

Chcete vyzkoušet Defender pro Endpoint? Zaregistrujte se a získejte bezplatnou zkušební verzi,

Poznámka

Pokud jste zákazníkem státní správy USA, použijte identifikátory URI uvedené v programu Microsoft Defender for Endpoint pro zákazníky státní správy USA.

Tip

Pro lepší výkon můžete použít server blíže k vašemu geografickému umístění:

  • us.api.security.microsoft.com
  • eu.api.security.microsoft.com
  • uk.api.security.microsoft.com
  • au.api.security.microsoft.com
  • swa.api.security.microsoft.com
  • ina.api.security.microsoft.com

Spouštění pokročilých dotazů pomocí PowerShellu Další informace najdete v tématu Rozhraní API rozšířeného proaktivního proaktivního vyhledávání.

V této části sdílíme ukázky PowerShellu pro načtení tokenu a jeho použití ke spuštění dotazu.

Než začnete

Nejdřív musíte vytvořit aplikaci.

Pokyny k přípravě

  • Otevřete okno PowerShellu.

  • Pokud vaše zásady neumožňují spouštět příkazy PowerShellu, můžete spustit následující příkaz:

    Set-ExecutionPolicy -ExecutionPolicy Bypass
    

Další informace najdete v dokumentaci k PowerShellu.

Získání tokenu

  • Spusťte následující příkaz:
$tenantId = '00000000-0000-0000-0000-000000000000' # Paste your own tenant ID here
$appId = '11111111-1111-1111-1111-111111111111' # Paste your own app ID here
$appSecret = '22222222-2222-2222-2222-222222222222' # Paste your own app secret here

$resourceAppIdUri = 'https://api.securitycenter.microsoft.com'
$oAuthUri = "https://login.microsoftonline.com/$TenantId/oauth2/token"
$body = [Ordered] @{
    resource = "$resourceAppIdUri"
    client_id = "$appId"
    client_secret = "$appSecret"
    grant_type = 'client_credentials'
}
$response = Invoke-RestMethod -Method Post -Uri $oAuthUri -Body $body -ErrorAction Stop
$aadToken = $response.access_token

Kde

  • $tenantId: ID tenanta, jehož jménem chcete dotaz spustit (to znamená, že se dotaz spouští na datech tohoto tenanta)
  • $appId: ID aplikace Microsoft Entra (aplikace musí mít oprávnění ke spouštění rozšířených dotazů pro Defender for Endpoint)
  • $appSecret: Tajemství aplikace Microsoft Entra

Spustit dotaz

Spusťte následující dotaz:

$token = $aadToken
$query = 'DeviceRegistryEvents | limit 10' # Paste your own query here

$url = "https://api.securitycenter.microsoft.com/api/advancedqueries/run"
$headers = @{ 
    'Content-Type' = 'application/json'
    Accept = 'application/json'
    Authorization = "Bearer $aadToken" 
}
$body = ConvertTo-Json -InputObject @{ 'Query' = $query }
$webResponse = Invoke-WebRequest -Method Post -Uri $url -Headers $headers -Body $body -ErrorAction Stop
$response =  $webResponse | ConvertFrom-Json
$results = $response.Results
$schema = $response.Schema
  • $results obsahovat výsledky dotazu
  • $schema obsahuje schéma výsledků dotazu.

Složité dotazy

Pokud chcete spouštět složité dotazy (nebo víceřádkové dotazy), uložte dotaz do souboru a místo prvního řádku ve výše uvedené ukázce spusťte následující příkaz:

$query = [IO.File]::ReadAllText("C:\myQuery.txt"); # Replace with the path to your file

Práce s výsledky dotazu

Teď můžete použít výsledky dotazu.

Pokud chcete výstup dotazu ve formátu CSV v souboru file1.csv, spusťte následující příkaz:

$results | ConvertTo-Csv -NoTypeInformation | Set-Content C:\file1.csv

Pokud chcete výstup dotazu ve formátu JSON v souboru file1.json, spusťte následující příkaz:

$results | ConvertTo-Json | Set-Content file1.json

Související článek

Tip

Chcete se dozvědět více? Spojte se s komunitou zabezpečení Microsoftu v naší technické komunitě: Technická komunita Microsoft Defenderu for Endpoint.