1

有没有人设法使用 Azure Resource Graph Query (Search-AzGraph PowerShell) 来检索每个私有 DNS 区域的所有 DNS 记录?

我相信必须有一种方法可以获取与对象相关的 DNS 记录:“microsoft.network/privatednszones”

Resource Graph Query 比常规的 az cli/azure powershell 模块更快,但我一直在努力在网上找到任何东西来编写这个查询。这一定是可能的!

4

1 回答 1

2

我们在本地环境中对此进行了测试,以下陈述基于我们的分析。

使用Search-AzGraph查询,我们只能提取特定私有 DNS 区域下的numberofRecordsSets计数,并且相应的 DNS 记录不会填充到任何列中,如下图所示。

这是我们使用的 Search-AzGraph 查询

Search-AzGraph "project id, name, type,properties | where type =~ 'microsoft.network/privatednszones' "    

在此处输入图像描述

或者,您可以使用以下 REST API 或 PowerShell 脚本来提取特定私有 DNS 区域的 DNS 记录集。

REST API

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/ALL?api-version=2018-09-01

这是 Powershell 脚本:

$zonelist=Get-AzPrivateDnsZone
foreach ( $item in $zonelist)
{
    Get-AzPrivateDnsRecordSet -ResourceGroupName $item.ResourceGroupName -ZoneName $item.Name| select -property Name,RecordType,Records,ZoneName
}

这是供参考的示例输出

在此处输入图像描述

于 2022-02-25T07:27:23.360 回答