Busca avançada usando o PowerShell

Aplica-se a:

Deseja experimentar o Microsoft Defender para Ponto de Extremidade? Inscreva-se para uma avaliação gratuita.

Observação

Se você for um cliente do governo dos EUA, use as URIs listadas em Microsoft Defender para Ponto de Extremidade para clientes do governo dos EUA.

Dica

Para obter um melhor desempenho, você pode usar o servidor mais próximo da localização geográfica:

  • 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

Execute consultas avançadas usando o PowerShell. Para obter mais informações, consulte API de Caça Avançada.

Nesta seção, compartilhamos exemplos do PowerShell para recuperar um token e usá-lo para executar uma consulta.

Antes de começar

Primeiro, você precisa criar um aplicativo.

Instruções de preparação

  • Abra uma janela do PowerShell.

  • Se sua política não permitir que você execute os comandos do PowerShell, você poderá executar o seguinte comando:

    Set-ExecutionPolicy -ExecutionPolicy Bypass
    

Para obter mais informações, confira Documentação do PowerShell.

Obter token

  • Execute:
$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

Em que

  • $tenantId: ID do locatário em nome do qual você deseja executar a consulta (ou seja, a consulta é executada nos dados desse locatário)
  • $appId: ID do aplicativo Microsoft Entra (o aplicativo deve ter permissão 'Executar consultas avançadas' para o Defender para Ponto de Extremidade)
  • $appSecret: Segredo do seu aplicativo de Microsoft Entra

Executar consulta

Execute a seguinte consulta:

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

$url = "https://api.securitycenter.microsoft.com/api/advancedhunting/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 conter os resultados da consulta
  • $schema contém o esquema dos resultados da consulta

Consultas complexas

Se você quiser executar consultas complexas (ou consultas multilines), salve sua consulta em um arquivo e, em vez da primeira linha no exemplo acima, execute o seguinte comando:

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

Trabalhar com os resultados da consulta

Agora você pode usar os resultados da consulta.

Para gerar os resultados da consulta no formato CSV no file1.csv de arquivo, execute o seguinte comando:

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

Para gerar os resultados da consulta no formato JSON no file1.json de arquivo, execute o seguinte comando:

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

Artigo relacionado

Dica

Você deseja aprender mais? Engage com a comunidade de Segurança da Microsoft em nossa Comunidade Tecnológica: Microsoft Defender para Ponto de Extremidade Tech Community.