Экспорт RBAC из всех подписок в Azure AD в один файл csv.

У меня дюжина подписок и очень сложно вывести сразу все назначения ролей со всех ресурсов со всех подписок. В настоящее время я использую приведенный ниже, но вывод зацикливается для каждой подписки на файл csv. Как мне получить вывод на один лист предпочтительно?

Get-AzSubscription | foreach-object {

    Write-Verbose -Message "Changing to Subscription $($_.Name)" -Verbose

    Set-AzContext -TenantId $_.TenantId -SubscriptionId $_.Id -Force
    $Name     = $_.Name
    $TenantId = $_.TenantId
    $SubId    = $_.SubscriptionId  

    Get-AzRoleAssignment -IncludeClassicAdministrators | Select-Object RoleDefinitionName,DisplayName,SignInName,ObjectType,Scope,
    @{name="TenantId";expression = {$TenantId}},@{name="SubscriptionName";expression = {$Name}},@{name="SubscriptionId";expression = {$SubId}} -OutVariable ra

    # Also export the individual subscriptions to excel documents on your Desktop.
    # One file per subscription
    $ra | Export-Csv -Path C:\scripts\Export-AzRoleAssignment\$Name.csv -NoTypeInformation

}

person zibs    schedule 15.05.2020    source источник
comment
Как лучше всего добавить экспортные группы AAD и разрешить их участников?   -  person zibs    schedule 18.05.2020


Ответы (1)


Вы можете использовать параметр -Append для команды Export-Csv.

Итак, ваша последняя строка будет выглядеть примерно так:

$ra | Export-Csv -Path C:\scripts\Export-AzRoleAssignment\csv_with_everything.csv -NoTypeInformation -Append

Или вы можете объединить все файлы csv в большой файл после его запуска, например. https://stackoverflow.com/a/43972739/1713589

person stinkyfriend    schedule 15.05.2020