powershell - 将 Azure AD 中所有订阅的 RBAC 导出到一个 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
}
解决方案
您可以使用该命令的-Append
参数。Export-Csv
所以,你的最后一行看起来像这样:
$ra | Export-Csv -Path C:\scripts\Export-AzRoleAssignment\csv_with_everything.csv -NoTypeInformation -Append
或者您可以在运行后将所有 csv 文件合并为大文件,例如https://stackoverflow.com/a/43972739/1713589
推荐阅读
- sql - 请问你能帮我吗?
- c# - 对单个 TCP 端口服务的多个请求
- powershell - Powershell在变量上递增计数器
- php - 错误 - PHP 基本文件上传
- ios - Objective C iPhone:打开 PDF 不再起作用
- php - ADFS 与 PHP 的集成
- kubernetes - 用于 Linode 云提供商的 spec.loadBalancerSourceRanges
- css - 仅为一个反应组件加载外部 css 文件
- spring-integration - 如何继续在具有轮询的单个线程上执行聚合?
- c# - 我的本地机器上与 Azure 上的捷克语不同的英文名称