列出与虚拟网络集成的Azure资源

列出与虚拟网络集成的Azure资源,azure,azure-web-app-service,azure-virtual-network,Azure,Azure Web App Service,Azure Virtual Network,我已经在Azure中设置了一个虚拟网络(VNet),其中包含多个子网。我还在多个应用程序服务中使用VNet集成来实现这个VNet。应用程序服务在不同的应用程序服务计划上运行 有没有办法列出在这个VNet上使用VNet集成的所有应用程序服务(可能还有其他Azure资源)?我知道我可以在每个应用程序服务的网络设置中查看VNet集成,但是当有数百个应用程序服务需要查看时,这种方法太麻烦了。下面是一个脚本,用于列出订阅中启用VNet集成的所有应用程序服务和功能应用程序。引用自 $AppServices

我已经在Azure中设置了一个虚拟网络(VNet),其中包含多个子网。我还在多个应用程序服务中使用VNet集成来实现这个VNet。应用程序服务在不同的应用程序服务计划上运行


有没有办法列出在这个VNet上使用VNet集成的所有应用程序服务(可能还有其他Azure资源)?我知道我可以在每个应用程序服务的网络设置中查看VNet集成,但是当有数百个应用程序服务需要查看时,这种方法太麻烦了。

下面是一个脚本,用于列出订阅中启用VNet集成的所有应用程序服务和功能应用程序。引用自

$AppServices = @(
az webapp list | ConvertFrom-Json
az functionapp list | ConvertFrom-Json
)
$VNetAppServices = foreach ($App in $AppServices) {    
    $Apps = az webapp vnet-integration list --n $App.Name -g $App.ResourceGroup
    if ($Apps -ne "[]") {
        $ServerFarm = $App.appServicePlanId -split '/'
        $VNetIntData = $Apps | ConvertFrom-Json
        $VNet = $VNetIntData.VnetResourceID -split '/'
        [PSCustomObject]@{
            AppServiceName = $App.Name
            ServerFarm     = $ServerFarm[8]
            ResourceGroup  = $App.ResourceGroup
            Location       = $App.Location
            VNetName       = $VNet[8]
            SubnetName     = $VNetIntData.name  
            VNetRG         = $VNet[4]       
        }
    }    
}
$VNetAppServices | ft