Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
本文介绍了一些使用 Azure Resource Graph 浏览器查看有关 Azure 专用 DNS 区域和记录的信息的方法。 提供了一些示例查询。
Azure Resource Graph (ARG) 是一项 Azure 服务,用于通过复杂的筛选、分组和排序来查询 Azure 资源。 ARG 查询提供有关资源的详细信息,并且你可以通过多种方式显示结果。
可以显示有关 DNS 区域的信息,包括:
- 一个或所有区域中的资源记录的类型和数量
- 资源记录名称和 IP 地址的列表
- 虚拟网络链接
- 自动注册的资源记录
这是一个简短的列表。 还有很多其他详细信息可以查询。
dnsresources 表
若要在 Azure 门户中使用 Resource Graph,请搜索并选择“Resource Graph 资源管理器”。 在左侧导航窗格中,选择“表”选项卡,并查看“dnsresources”表。 此表用于查询专用 DNS 区域数据。 使用此表时,不会查询公共 DNS 区域。
选择“dnsresources”以创建基本查询,然后单击“运行查询”以返回结果。 请参阅以下示例:

若要将 ID 替换为显示名称并在可能的情况下将值显示为链接,请将显示屏右上角的“格式化结果”切换为“启用”。 若要查看记录的详细信息,请向右滚动并选择“查看详细信息”。 上一示例中显示的前几条记录是 PTR 记录(类型 = microsoft.network/privatednszones/ptr)。
按类型对资源记录进行计数
以下查询使用“dnsresources”表按类型提供所有专用区域的资源记录计数:
dnsresources
| summarize count() by recordType = tostring(type)

该查询对当前订阅有权查看的所有记录进行计数。 你还可以通过选择“图表”选项卡并选择图表类型,直观地查看计数。 下面是圆环图的示例:

列出、筛选、搜索资源记录以及对资源记录进行排序
可以通过指定区域名称、订阅 ID、资源组或记录类型等参数来筛选查询结果。 例如,以下示例查询针对给定订阅和资源组返回 private.contoso.com 区域中 A 或 CNAME 记录的列表。 此查询的输出类似于查看专用区域(还可以按名称和类型对结果进行筛选和排序):
dnsresources
| where managedBy == "private.contoso.com"
| where subscriptionId == "<your subscription ID>"
| where resourceGroup == "<your resource group name>"
| where type in (
"microsoft.network/privatednszones/a",
"microsoft.network/privatednszones/cname"
)
| project name, type, properties

可以指定的记录类型有:a、aaaa、cname、mx、ptr、soa、srv 和 txt。
还可以查询特定的 IP 地址或地址范围。 以下查询返回与特定 IPv4 地址匹配的专用 DNS 记录:
dnsresources
| where properties['records'][0]['ipv4Address'] == "10.10.2.5"
| project name, type, resourceGroup, properties
正则表达式
Kusto 查询语言还支持正则表达式。 以下查询使用正则表达式来匹配并列出给定专用 DNS 区域和指定订阅中的所有 IPv4 地址:
dnsresources
| where subscriptionId == "<your subscription ID>"
| where managedBy == "private.contoso.com"
| where properties matches regex @'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'
| extend IP=extract_all(@'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?:\/\d{1,2}){0,1})',tostring(properties))
| project name, IP, resourceGroup, properties
| mv-expand IP
| order by name

具有虚拟网络链接的区域
以下查询列出了具有虚拟网络链接的所有专用 DNS 区域并显示自动注册状态。 此查询使用泛型“resources”表而不是“dnsresources”表,并将资源类型指定为仅限“privatednszones”。
resources
| where subscriptionId == "<your subscription ID>"
| where ['type'] == "microsoft.network/privatednszones/virtualnetworklinks"
| extend registrationEnabled=(properties.registrationEnabled)
| project name, registrationEnabled, resourceGroup, properties

自动注册的 DNS 记录
以下查询列出了自动注册的 IPv4 专用 DNS 记录:
dnsresources
| where subscriptionId == "<your subscription ID>"
| where isnull(properties.virtualNetworkId) == false
| extend linkname=(properties.virtualNetworkLinkName)
| extend ipaddress=properties['records'][0]['ipv4Address']
| project name, ipaddress, type, linkname, properties

后续步骤
- 了解如何在 DNS 区域中管理记录集和记录。