簡體   English   中英

安裝模塊 -Name AzureAD -Scope CurrentUser -Force

[英]Install-Module -Name AzureAD -Scope CurrentUser -Force

我正在嘗試在 Azure DevOps 中的代理 Windows 2019 Maschine 上安裝帶有 Powershell 的 AzureAD 模塊。 scope 是查詢 Get-AzureADGroupMember 並查看該 Azure AD 組的成員。 運行 DevOps Task 后,maschine 似乎還停留在下面的 state 中,沒有拋出任何狀態。 我錯過了什么嗎?

Install-Module -Name AzureAD -Scope CurrentUser -Force
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Connect-AzureAD
Get-AzureADGroupMember -ObjectId "xxxxx-xxxxx-xxxxxxxx" 

在此處輸入圖像描述 在此處輸入圖像描述

我檢查了腳本。

Connect-AzureAD提示登錄 UI

在此處輸入圖像描述

這可能是沒有進展的原因。

您可以傳遞憑據 - 這將阻止登錄提示。

Connect-AzureAD -Credential $Credential

Connect-AzureAD命令需要添加 Credential 才能連接 AzureAD。 默認情況下,服務主體 ARM 連接無法將所需的憑據傳遞給此命令。

要使用 Service Principal ARM Connection 連接 Azure 廣告,您需要添加額外的任務和腳本來實現它。

這是一個例子:

steps:
- task: AzureCLI@2
  displayName: 'Azure CLI '
  inputs:
    azureSubscription: kevin0322
    scriptType: ps
    addSpnToEnvironment: true
    scriptLocation: inlineScript
    inlineScript: |
     echo "##vso[task.setvariable variable=ARM_CLIENT_ID]$env:servicePrincipalId"
         
     echo "##vso[task.setvariable variable=ARM_CLIENT_SECRET]$env:servicePrincipalKey"
         
     echo "##vso[task.setvariable variable=ARM_TENANT_ID]$env:tenantId"
     
    

- powershell: |
   az login --service-principal --username $(ARM_CLIENT_ID) --password $(ARM_CLIENT_SECRET)  --tenant $(ARM_TENANT_ID)
   
   $aadToken = az account get-access-token --resource-type aad-graph | ConvertFrom-Json
   
   Install-Module -Name AzureAD -Scope CurrentUser -Force
   
   Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
   
   Connect-AzureAD   -AccountId $(ARM_CLIENT_ID) -TenantId $(ARM_TENANT_ID) -AadAccessToken $aadToken.accessToken
   
   Get-AzureADGroupMember -ObjectId "xxx" 
  displayName: 'PowerShell Script'

您可以在 Azure CLI 任務中使用服務主體 ARM 連接,然后您可以獲得與服務主體相關的變量(啟用addSpnToEnvironment: true )。

在 Powershell 任務中,您可以使用 Azure CLI 任務中的變量來運行 azure cli 命令以獲取憑證的 aadtoken。

最后,無需手動輸入用戶名和密碼,即可成功執行 Connect-AzureAD 命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM