当前位置: 首页 > 知识库问答 >
问题:

如何列出所有订阅的Azure recovery services vault并使用所需参数导出到csv

刘和玉
2023-03-14

我已经编写了一个PowerShell脚本来检索跨多个订阅的Azure恢复服务保险库列表。

这是我的代码:

$subscriptions = Get-AzSubscription

ForEach ($Subscription in $Subscriptions) {
    Set-AzContext -SubscriptionId 77a74465-c065-4108-b270-edd84f918fe0

    $vaults = get-azrecoveryservicesvault
    
    ForEach ($vault in $vaults) 
    {
        Set-AzRecoveryServicesVaultContext -Vault $vault
        Get-AzRecoveryServicesVault |Select-Object "Name","ResourceGroupName","Location","SubscritptionId" | Export-Csv "C:\RSV-Report.csv" -NoTypeInformation -Encoding ASCII -Append  
    }
}

这将返回如下输出:

它不会返回所有资源的订阅ID。

但是,当我使用以下代码调用单个订阅和单个资源组时:

Set-AzContext -SubscriptionId 77a74465-c065-4108-b270-********
Get-AzRecoveryServicesVault | Select-Object "Name","ResourceGroupName","Location","SubscriptionId" | Export-Csv "C:\report1.csv" -NoTypeInformation -Append 

我得到一个完美的输出:

我希望输出与单个订阅和单个资源组同时显示的结果相同。

我需要像上面这样的输出帮助,我还想得到订阅名称列。我试图在上述代码中的select对象中传递订阅名称,但它在订阅名称列的行中提供了空白条目。

如果有人能帮助我,我想提前表示感谢。

我是PowerShell的新手,我一直在努力解决这个问题。

共有1个答案

谢志文
2023-03-14

您在每个硬编码的迭代中使用相同的SubcriptionId,其中您应该使用来自您通过Get-AzSubcription调用接收的每个$Subcription对象的Id属性。

尝试

$subscriptions = Get-AzSubscription

# loop through the subscriptions and collect the output in variable $result
$result = foreach ($Subscription in $Subscriptions) {
    $null   = Set-AzContext -SubscriptionId $Subscription.Id
    $vaults = Get-AzRecoveryServicesVault

    foreach ($vault in $vaults) {
        Set-AzRecoveryServicesVaultContext -Vault $vault
        # output a PSObject with the chosen properties
        Get-AzRecoveryServicesVault | Select-Object "Name","ResourceGroupName","Location","SubscriptionId" 
    }
} 

$result | Export-Csv "C:\RSV-Report.csv" -NoTypeInformation -Encoding ASCII  
 类似资料:
  • 问题内容: 我想建立一个基于php的站点,该站点在我的Ubuntu服务器上(自动)执行一些命令 我要做的第一件事是转到文件(sudoers)并添加用户www-data,以便我可以以root权限执行php命令! 然后我的PHP代码是 它仅返回一个用户(最后一个用户)!如何使其返回所有用户? 谢谢 问题答案: 从exec的PHP手册中: 返回值 命令结果的最后一行。如果您需要执行命令并直接将命令中的所

  • 问题内容: 我在数据表中使用了新功能:“ HTML5导出按钮”。我正在使用Ajax加载数据。 https://datatables.net/extensions/buttons/examples/html5/simple.html 问题在于它仅导出当前显示的页面。 我这样出口: 如何导出所有行? 问题答案: 根据DataTables文档,使用服务器端时无法导出所有行: 关于服务器端处理的特别说明:

  • 问题内容: 有没有一种方法可以获取实例中所有数据库中所有存储过程中引用的所有列和表?输出应为: 问题答案: 这将得到您想要的列表,但是,如果您在动态SQL中嵌入了此类列引用(并且可能找不到依赖于延迟名称解析的引用),则将无济于事。SQL Server不会解析存储过程的文本以提供DMV输出。 现在尝试使用子句来处理在同一服务器上具有不同归类的数据库的情况。 如果您的数据库处于80兼容模式,那么该语法

  • 问题内容: 如何列出Linux中某个组的所有成员(可能还包括其他unice)? 问题答案: 不幸的是,据我所知,没有很好的便携式方法可以做到这一点。如果您尝试解析/ etc / group(如其他人所建议的那样),则会错过以该组为主要组的用户以及通过UNIX平面文件(例如LDAP,NIS, pam-pgsql等)。 如果我绝对必须自己做,则可能相反:使用来获取系统上每个用户的组(这将使NSS看到所

  • 本节,我们要添加倒数第二个用户控制器动作,index。index 动作不是显示某一个用户,而是显示所有用户。在这个过程中,我们要学习如何在数据库中生成示例用户数据,以及如何分页显示用户列表,让首页显示任意数量的用户。用户列表、分页链接和“Users”(所有用户)导航链接的构思图如图 9.8 所示。[6]9.4 节会添加管理功能,用来删除用户。 图 9.8:用户列表页面的构思图 9.3.1 用户列表