![](/img/trans.png)
[英]How might I assign a service principal to an AAD group in my hosted VSTS release pipeline using PowerShell?
[英]How to assign AAD Group to an Enterprise App?
我想知道如何將一個或多個組分配給一個應用程序?
我已經嘗試過了,但出現錯誤:Get-AzureADGroup:執行 GetGroup 時發生錯誤
connect-azuread
$GroupName = "TEST"
$app_name = "Intranet"
$app_role_name = "Default Access"
# Get the group to assign
$AADGROUP = Get-AzureADGroup -ObjectId $GroupName
$sp = Get-AzureADServicePrincipal -Filter "displayName eq '$app_name'"
$appRole = $sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }
# Assign the group to the app role
New-AzureADGroupAppRoleAssignment -ObjectId $AADGROUP.ObjectId -PrincipalId $AADGROUP.ObjectId -ResourceId $sp.ObjectId -Id $appRole.Id
您的錯誤清楚地表明了失敗的部分。 沒有為最后一條語句提供ObjectId
,因為您的$AADGroup.ObjectId
是$null
查看您的代碼摘錄:
$GroupName = 'test'
$AADGROUP = Get-AzureADGroup -ObjectId $GroupName
#...
# Assign the group to the app role
New-AzureADGroupAppRoleAssignment -ObjectId $AADGROUP.ObjectId -PrincipalId $AADGROUP.ObjectId -ResourceId $sp.ObjectId -Id $appRole.Id
如果將$GroupName
GroupName 與之后的Get-AzureADGroup -ObjectId $GroupName
語句一起使用,則此變量的名稱非常糟糕。 它行不通。 -ObjectId
期望組的對象 ID GUID,而不是其名稱(您可能已經正確執行此操作,我的假設來自您的變量名稱)。
這將解釋您沒有返回任何組的位置以及發生錯誤的原因。 如果要使用組名,則需要使用-SearchString
而不是 -ObjectId 調用Get-AzureADGroup
-ObjectId
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.