Esempi dell'API del report sull'attività di accesso di Azure Active DirectoryAzure Active Directory sign-in activity report API samples

Questo argomento fa parte di una raccolta di argomenti sull'API di creazione report di Azure Active Directory.This topic is part of a collection of topics about the Azure Active Directory reporting API.
La creazione di report di Azure Active Directory fornisce un'API che consente di accedere ai dati sull'attività di accesso tramite codice o strumenti correlati.Azure AD reporting provides you with an API that enables you to access sign-in activity data using code or related tools.
L'obiettivo di questo argomento è fornire il codice di esempio per l' API sull'attività di accesso.The scope of this topic is to provide you with sample code for the sign-in activity API.

Vedere:See:

PrerequisitiPrerequisites

Prima di poter usare gli esempi contenuti in questo argomento, è necessario completare i prerequisiti di accesso all'API di creazione report di Azure AD.Before you can use the samples in this topic, you need to complete the prerequisites to access the Azure AD reporting API.

Script di PowerShellPowerShell script

# This script will require the Web Application and permissions setup in Azure Active Directory
$ClientID       = "<clientId>"             # Should be a ~35 character string insert your info here
$ClientSecret   = "<clientSecret>"         # Should be a ~44 character string insert your info here
$loginURL       = "https://login.microsoftonline.com/"
$tenantdomain   = "<tenantDomain>"
$ daterange            # For example, contoso.onmicrosoft.com

$7daysago = "{0:s}" -f (get-date).AddDays(-7) + "Z"
# or, AddMinutes(-5)

Write-Output $7daysago

# Get an Oauth 2 access token based on client id, secret and tenant domain
$body       = @{grant_type="client_credentials";resource=$resource;client_id=$ClientID;client_secret=$ClientSecret}

$oauth      = Invoke-RestMethod -Method Post -Uri $loginURL/$tenantdomain/oauth2/token?api-version=1.0 -Body $body

if ($oauth.access_token -ne $null) {
$headerParams = @{'Authorization'="$($oauth.token_type) $($oauth.access_token)"}

$url = "https://graph.windows.net/$tenantdomain/activities/signinEvents?api-version=beta&`$filter=signinDateTime ge $7daysago"

$i=0

Do{
    Write-Output "Fetching data using Uri: $url"
    $myReport = (Invoke-WebRequest -UseBasicParsing -Headers $headerParams -Uri $url)
    Write-Output "Save the output to a file SigninActivities$i.json"
    Write-Output "---------------------------------------------"
    $myReport.Content | Out-File -FilePath SigninActivities$i.json -Force
    $url = ($myReport.Content | ConvertFrom-Json).'@odata.nextLink'
    $i = $i+1
} while($url -ne $null)

} else {

    Write-Host "ERROR: No Access Token"
}

Esecuzione dello scriptExecuting the script

Una volta modificato lo script, eseguirlo e verificare che vengano restituiti i dati corretti dal report Log di controllo.Once you finish editing the script, run it and verify that the expected data from the Audit logs report is returned.

Lo script restituisce l'output del report sugli accessi in formato JSON.The script returns output from the sign-in report in JSON format. Crea anche un file SigninActivities.json con lo stesso output.It also creates an SigninActivities.json file with the same output. È possibile provare a modificare lo script per restituire i dati di altri report e rimuovere i commenti per i formati di output non necessari.You can experiment by modifying the script to return data from other reports, and comment out the output formats that you do not need.

Fasi successiveNext Steps