Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Jeśli jesteś klientem rządowym USA, użyj identyfikatorów URI wymienionych w Ochrona punktu końcowego w usłudze Microsoft Defender dla klientów rządowych USA.
Porada
Aby uzyskać lepszą wydajność, użyj serwera bliżej geolokalizacji:
- 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
- aea.api.security.microsoft.com
Uruchamianie zaawansowanych zapytań przy użyciu programu PowerShell. Aby uzyskać więcej informacji, zobacz Advanced Hunting API (Zaawansowany interfejs API wyszukiwania zagrożeń).
W tej sekcji udostępniamy przykłady programu PowerShell w celu pobrania tokenu i użycia go do uruchomienia zapytania.
Przed rozpoczęciem
Najpierw musisz utworzyć aplikację.
Instrukcje przygotowywania
Otwórz okno programu PowerShell.
Jeśli zasady nie zezwalają na uruchamianie poleceń programu PowerShell, możesz uruchomić następujące polecenie:
Set-ExecutionPolicy -ExecutionPolicy Bypass
Aby uzyskać więcej informacji, zobacz dokumentację programu PowerShell.
Uzyskiwanie tokenu
- Uruchom następujące polecenie:
$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
Gdzie
- $tenantId: identyfikator dzierżawy, w imieniu której chcesz uruchomić zapytanie (tj. zapytanie jest uruchamiane na danych tej dzierżawy)
- $appId: identyfikator aplikacji Microsoft Entra (aplikacja musi mieć uprawnienie "Uruchamianie zaawansowanych zapytań" do usługi Defender for Endpoint)
- $appSecret: wpis tajny aplikacji Microsoft Entra
Uruchamianie zapytania
Uruchom następujące zapytanie:
$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 zawierać wyniki zapytania
- $schema zawiera schemat wyników zapytania
Złożone zapytania
Jeśli chcesz uruchamiać złożone zapytania (lub zapytania wielowierszowe), zapisz zapytanie w pliku i zamiast pierwszego wiersza w powyższym przykładzie uruchom następujące polecenie:
$query = [IO.File]::ReadAllText("C:\myQuery.txt"); # Replace with the path to your file
Praca z wynikami zapytań
Teraz możesz użyć wyników zapytania.
Aby wyświetlić wyniki zapytania w formacie CSV w pliku file1.csv, uruchom następujące polecenie:
$results | ConvertTo-Csv -NoTypeInformation | Set-Content C:\file1.csv
Aby wyświetlić wyniki zapytania w formacie JSON w pliku file1.json, uruchom następujące polecenie:
$results | ConvertTo-Json | Set-Content file1.json
Powiązany artykuł
- interfejsy API Ochrona punktu końcowego w usłudze Microsoft Defender
- Zaawansowany interfejs API wyszukiwania zagrożeń
- Zaawansowane wyszukiwanie zagrożeń przy użyciu języka Python
Porada
Chcesz dowiedzieć się więcej? Engage ze społecznością microsoft security w naszej społeczności technicznej: Ochrona punktu końcowego w usłudze Microsoft Defender Tech Community.