>> See here for instructions on how to create a similar script for emulating a Daemon Client Application using the Client Credential Flow.
PowerShellは、あなたが右のあなたのコマンドラインに.NETアセンブリをロードすることができます。つまり、ADAL (Azure Active Directory Authentication Libraries)をロードして、それを使用して認証の経験を簡単にすることができます。 ADALからトークンを取得すると、Invoke-RestMethod
コマンドレットを使用してAAD Graph APIを呼び出すことができます。
まず、ADALの.NET dllをダウンロードして保存する必要があります。ダウンロードリンクはon Nugetです。
注:ここでは特にADAL v2を使用しています。あなたがなど7Z、WinZipの、のようなファイルの抽出と.nupkgの内容を抽出することができます
...
が\lib\net45\
から内容を抽出し、作業ディレクトリにコピーします。私はそれを別々に保つために、自分の "ADAL"フォルダにファイルを置きます。
# Load ADAL
Add-Type -Path ".\ADAL\Microsoft.IdentityModel.Clients.ActiveDirectory.dll"
# Output Token and Response from AAD Graph API
$accessToken = ".\Token.txt"
$output = ".\Output.json"
# Application and Tenant Configuration
$clientId = "<AppIDGUID>"
$tenantId = "<TenantID>"
$resourceId = "https://graph.windows.net"
$redirectUri = New-Object system.uri("<ReplyURL>")
$login = "https://login.microsoftonline.com"
# Get an Access Token with ADAL
$authContext = New-Object Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext ("{0}/{1}" -f $login,$tenantId)
$authenticationResult = $authContext.AcquireToken($resourceId, $clientID, $redirectUri)
($token = $authenticationResult.AccessToken) | Out-File $accessToken
# Call the AAD Graph API
$headers = @{
"Authorization" = ("Bearer {0}" -f $token);
"Content-Type" = "application/json";
}
Invoke-RestMethod -Method Get -Uri ("{0}/{1}/users?api-version=1.6" -f $resourceId, $tenantId) -Headers $headers -OutFile $output
注:アプリID、テナントIDを更新する必要があり、このスクリプトでURLを返信します
その後、あなたは次のように新しいPowerShellスクリプトを作成することができるはずです。私はテナントのユーザを返すためにAAD Graph APIコールを事前に設定しましたが、このRESTコールをあなたが望むものに変更することができます。
スクリプトを正常に実行すると、作業ディレクトリに2つの新しいファイルが作成されます。エンコードされたJSONアクセストークンを含むテキストファイル。thisなどのサイトでbase64でデコードできます。 AAD Graph APIからの応答。
これが役立つ場合はお知らせください。