使用 PowerShell 使用 Azure Authenticated .net core API

Consume Azure Authenticated .net core API with PowerShell

我正在尝试使用 powershell 脚本调用经过身份验证的 azure ad .net 核心 api。有人可以帮我处理 powershell 脚本吗?我已经在 Azure 活动目录中为 api 创建了一个应用程序注册。

我暴露了受Azure保护的api,为api创建了一个应用程序注册,然后使用client credential flow获取token:

脚本:

$clientID = 'a13b414b-93b3-4aae-bb68-6a40ffxxxxxx'
$secretKey = '4.Yi4qwn_rqe7BK3F6Nfz.c0A7pTxxxxxx'
$tenantID = 'e4c9ab4e-bd27-40d5-8459-230ba2xxxxxx'

$password = ConvertTo-SecureString -String $secretKey -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential($ClientID,$password)
Connect-AzureRmAccount -ServicePrincipal -Credential $credential -Tenant $tenantID

$authUrl = "https://login.microsoftonline.com/" + $tenantID + "/oauth2/v2.0/token/"
$body = @{
   "scope" = "api://a13b414b-93b3-4aae-bb68-6a40ffxxxxxx/.default";
   "grant_type" = "client_credentials";
   "client_id" = $ClientID
   "client_secret" = $secretKey
}

Write-Output "Getting Authentication-Token" 
$adlsToken = Invoke-RestMethod -Uri $authUrl –Method POST -Body $body
Write-Output $adlsToken