![](/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.