使用 PowerShell,如何获取其中包含 Azure 数据工厂资源的所有 Azure 订阅的列表?

Using PowerShell, How to get list of all Azure subscriptions having Azure Data factory Resource in it?

我想检索其中包含 Azure 数据工厂资源的订阅列表。我想使用 PowerShell 并获取订阅列表和 ADF 列表。

我试过 Get-AzSubscription,但它不包含资源类型的过滤器,即 Microsoft.DataFactory/factories。此过滤器只能添加到 Get-AzResource.

  1. Get-AzSubscription Module
  2. Get-AzResource Module

好的,给你:

$resType     = "Microsoft.DataFactory/factories"
$resTypeName = "DataFactory"
Get-AzSubscription | ForEach-Object {
    $subscriptionName = $_.Name
    $tenantId = $_.TenantId
    Set-AzContext -SubscriptionId $_.SubscriptionId -TenantId $_.TenantId
    (Get-AzResource -ResourceType $ResType) | ForEach-Object {     
        [PSCustomObject] @{
            true_sub = $subscriptionName
        } 
    } | get-unique 
} | Select-String 'true_sub' | ForEach-Object{ "Found_" + "$resTypeName" + "_In_Subscription= $($subscriptionName)"}

编辑:添加了变量,使其可以轻松地重用于任何资源类型。

我使用可用的代码 and 根据要求创建了一个自定义代码。在我的环境中测试 - 它似乎按预期工作。

我应该透露我不是高级 PowerShell 用户,所以我提供的代码可能真的不是最优的。