在多个订阅中自动分配角色

时间:2019-04-26 18:35:13

标签: azure powershell

我在文本文件中有多个订阅名称,并且我希望为Azure中所有这些订阅上的组分配一个角色。我正在尝试下面的PS代码,但它仅适用于开头提到的订阅名称,而不适用于所有名称。

需要代码中的帮助才能将角色分配给文本文件中所有预订上的组

$SubscriptionName = Get-Content “C:\temp\subscriptions.txt”

foreach ($Subscription in $SubscriptionName)
{
   $sub = get-AzureRmSubscription -Subscriptionname $Subscription
}

$groupID = (Get-AzureRmADGroup -SearchString “SG-testing-Contributor”).Id

New-AzureRmRoleAssignment -ObjectId $groupID -Scope “/subscriptions/$($sub.SubscriptionId)” -RoleDefinitionName “Contributor”

}

1 个答案:

答案 0 :(得分:0)

好像您有一个额外的结束括号。应该为每个订阅名称运行它:

$SubscriptionName = Get-Content “C:\temp\subscriptions.txt”

foreach ($Subscription in $SubscriptionName) {
    $sub = Get-AzSubscription -Subscriptionname $Subscription
    $groupID = (Get-AzADGroup -SearchString "SG-testing-Contributor").Id
    New-AzRoleAssignment -ObjectId $groupID -Scope "/subscriptions/$($sub.SubscriptionId)" -RoleDefinitionName Contributor
}