你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Set-AzureRmDnsRecordSet

更新 DNS 记录集。

重要

由于 Az PowerShell 模块现在已具有 AzureRM PowerShell 模块的所有功能及更多功能,因此我们将于 2024 年 2 月 29 日停用 AzureRM PowerShell 模块。

若要避免服务中断,请更新脚本,在 2024 年 2 月 29 日结束之前将使用 AzureRM PowerShell 模块的脚本更新为使用 Az PowerShell 模块。 若要自动更新脚本,请按照快速入门指南操作。

语法

Set-AzureRmDnsRecordSet
   -RecordSet <DnsRecordSet>
   [-Overwrite]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

Set-AzureRmDnsRecordSet cmdlet 从本地 RecordSet 对象更新 Azure DNS 服务中的记录集。 可以将 RecordSet 对象作为参数传递,也可以使用管道运算符。 可以使用 Confirm 参数和$ConfirmPreference Windows PowerShell变量来控制 cmdlet 是否提示你进行确认。 如果记录集自检索本地 RecordSet 对象以来已在 Azure DNS 中更改,则不会更新该 记录集 。 这为并发更改提供了保护。 可以使用 Overwrite 参数取消此行为,无论并发更改如何,都会更新记录集。

示例

示例 1:更新记录集

PS C:\>$RecordSet = Get-AzureRmDnsRecordSet -ResourceGroupName MyResourceGroup -ZoneName myzone.com -Name www -RecordType A
PS C:\> Add-AzureRmDnsRecordConfig -RecordSet $RecordSet -Ipv4Address 172.16.0.0
PS C:\> Add-AzureRmDnsRecordConfig -RecordSet $RecordSet -Ipv4Address 172.31.255.255
PS C:\> Set-AzureRmDnsRecordSet -RecordSet $RecordSet

# These cmdlets can also be piped:

PS C:\> Get-AzureRmDnsRecordSet -ResourceGroupName MyResourceGroup -ZoneName myzone.com -Name www -RecordType A | Add-AzureRmDnsRecordConfig -Ipv4Address 172.16.0.0 | Add-AzureRmDnsRecordConfig -Ipv4Address 172.31.255.255 | Set-AzureRmDnsRecordSet

第一个命令使用 Get-AzureRmDnsRecordSet cmdlet 获取指定的记录集,然后将其存储在$RecordSet变量中。 第二和第三个命令是行外操作,用于将两条 A 记录添加到记录集。 最后一个命令使用 Set-AzureRmDnsRecordSet cmdlet 提交更新。

示例 2:更新 SOA 记录

PS C:\>$RecordSet = Get-AzureRmDnsRecordSet -Name "@" -RecordType SOA -Zone $Zone
PS C:\> $RecordSet.Records[0].Email = "admin.myzone.com"
PS C:\> Set-AzureRmDnsRecordSet -RecordSet $RecordSet

第一个命令使用 Get-AzureRmDnsRecordset cmdlet 获取指定的记录集,然后将其存储在$RecordSet变量中。 第二个命令更新$RecordSet中指定的 SOA 记录。 最后一个命令使用 Set-AzureRmDnsRecordSet cmdlet 在 $RecordSet 中传播更新。

参数

-Confirm

提示你在运行 cmdlet 之前进行确认。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

用于与 azure 通信的凭据、帐户、租户和订阅

Type:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Overwrite

指示无论并发更改如何更新记录集。 如果在 Azure DNS 中更改了记录集,则不会更新记录集,因为检索了本地 RecordSet 对象。 这为并发更改提供了保护。 若要取消此行为,可以使用 Overwrite 参数,这会导致无论并发更改如何更新记录集。

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-RecordSet

指定要更新的 RecordSet

Type:DnsRecordSet
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

显示在此 cmdlet 运行的情况下将会发生什么。 cmdlet 未运行。显示 cmdlet 运行时会发生什么情况。 此 cmdlet 未运行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

输入

DnsRecordSet

参数:RecordSet (ByValue)

输出

DnsRecordSet

备注

可以使用 Confirm 参数来控制此 cmdlet 是否提示你进行确认。 默认情况下,cmdlet 会提示确认$ConfirmPreference Windows PowerShell变量的值是否为中或更低。 如果指定 “确认 ”或 “确认:$True”,则此 cmdlet 会在运行之前提示你进行确认。 如果指定 Confirm:$False,则 cmdlet 不会提示你进行确认。