Repérage avancé à l’aide de PowerShell
S’applique à :
Vous voulez découvrir Microsoft Defender pour point de terminaison ? Inscrivez-vous pour bénéficier d’un essai gratuit.
Remarque
Si vous êtes un client du gouvernement des États-Unis, utilisez les URI répertoriés dans Microsoft Defender pour point de terminaison pour les clients du gouvernement des États-Unis.
Conseil
Pour de meilleures performances, vous pouvez utiliser le serveur plus près de votre emplacement géographique :
- 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
Exécutez des requêtes avancées à l’aide de PowerShell. Pour plus d’informations, consultez API de chasse avancée.
Dans cette section, nous partageons des exemples PowerShell pour récupérer un jeton et l’utiliser pour exécuter une requête.
Avant de commencer
Vous devez d’abord créer une application.
Instructions de préparation
Ouvrez une fenêtre PowerShell.
Si votre stratégie ne vous permet pas d’exécuter les commandes PowerShell, vous pouvez exécuter la commande suivante :
Set-ExecutionPolicy -ExecutionPolicy Bypass
Pour plus d’informations, consultez la documentation PowerShell.
Obtenir un jeton
- Exécutez la commande suivante :
$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
Où
- $tenantId : ID du locataire pour le compte duquel vous souhaitez exécuter la requête (autrement dit, la requête est exécutée sur les données de ce locataire)
- $appId : ID de votre application Microsoft Entra (l’application doit disposer de l’autorisation « Exécuter des requêtes avancées » sur Defender pour point de terminaison)
- $appSecret : Secret de votre application Microsoft Entra
Exécuter la requête
Exécutez la requête suivante :
$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 contiennent les résultats de votre requête
- $schema contient le schéma des résultats de votre requête
Requêtes complexes
Si vous souhaitez exécuter des requêtes complexes (ou des requêtes multilignes), enregistrez votre requête dans un fichier et, au lieu de la première ligne de l’exemple ci-dessus, exécutez la commande suivante :
$query = [IO.File]::ReadAllText("C:\myQuery.txt"); # Replace with the path to your file
Travailler avec les résultats de la requête
Vous pouvez maintenant utiliser les résultats de la requête.
Pour générer les résultats de la requête au format CSV dans le file1.csv de fichier, exécutez la commande suivante :
$results | ConvertTo-Csv -NoTypeInformation | Set-Content C:\file1.csv
Pour générer les résultats de la requête au format JSON dans le file1.json de fichier, exécutez la commande suivante :
$results | ConvertTo-Json | Set-Content file1.json
Article connexe
- API Microsoft Defender pour point de terminaison
- API de chasse avancée
- Repérage avancé à l’aide de Python
Conseil
Voulez-vous en savoir plus ? Collaborez avec la communauté Microsoft Security dans notre communauté technique : Microsoft Defender pour point de terminaison Tech Community.