你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
New-AzureRmDnsRecordSet
创建 DNS 记录集。
警告
截至 2024 年 2 月 29 日,AzureRM PowerShell 模块已正式弃用。 为了确保持续获得支持和更新,建议用户从 AzureRM 迁移到 Az PowerShell 模块。
尽管 AzureRM 模块仍可能正常运行,但它不再维护或受支持,但会根据用户的自由裁量权和风险继续使用任何继续使用模块。 有关过渡到 Az 模块的指导,请参阅我们的迁移资源。
语法
New-AzureRmDnsRecordSet
-Name <String>
-ZoneName <String>
-ResourceGroupName <String>
-Ttl <UInt32>
-RecordType <RecordType>
[-Metadata <Hashtable>]
[-DnsRecords <DnsRecordBase[]>]
[-Overwrite]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmDnsRecordSet
-Name <String>
-ZoneName <String>
-ResourceGroupName <String>
[-Ttl <UInt32>]
-RecordType <RecordType>
-TargetResourceId <String>
[-Metadata <Hashtable>]
[-DnsRecords <DnsRecordBase[]>]
[-Overwrite]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmDnsRecordSet
-Name <String>
-Zone <DnsZone>
-Ttl <UInt32>
-RecordType <RecordType>
[-Metadata <Hashtable>]
[-DnsRecords <DnsRecordBase[]>]
[-Overwrite]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmDnsRecordSet
-Name <String>
-Zone <DnsZone>
[-Ttl <UInt32>]
-RecordType <RecordType>
-TargetResourceId <String>
[-Metadata <Hashtable>]
[-DnsRecords <DnsRecordBase[]>]
[-Overwrite]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
New-AzureRmDnsRecordSet cmdlet 创建一个新的域名系统(DNS)记录集,其中包含指定名称和指定区域中的类型。 RecordSet 对象是一组具有相同名称和类型的 DNS 记录。 请注意,该名称相对于区域,而不是完全限定的名称。 DnsRecords 参数指定记录集中的记录。 此参数采用使用 New-AzureRmDnsRecordConfig 构造的 DNS 记录数组。 可以使用管道运算符将 DnsZone 对象传递给此 cmdlet,也可以将 DnsZone 对象作为 Zone 参数传递,或者也可以按名称指定区域。 可以使用 Confirm 参数并$ConfirmPreference Windows PowerShell 变量来控制 cmdlet 是否提示你进行确认。 如果匹配 的 RecordSet 已存在(同名和记录类型),则必须指定 Overwrite 参数,否则 cmdlet 将不会创建新的 RecordSet 。
示例
示例 1:创建 A 类型的 RecordSet
PS C:\> $Records = @()
PS C:\> $Records += New-AzureRmDnsRecordConfig -IPv4Address 1.2.3.4
PS C:\> $RecordSet = New-AzureRmDnsRecordSet -Name "www" -RecordType A -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords $Records
# When creating a RecordSet containing a single record, the above sequence can also be condensed into a single line:
PS C:\> $RecordSet = New-AzureRmDnsRecordSet -Name "www" -RecordType A -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords (New-AzureRmDnsRecordConfig -IPv4Address 1.2.3.4)
# To create a record set containing multiple records, use New-AzureRmDnsRecordConfig to add each record to the $Records array,
# then call New-AzureRmDnsRecordSet, as follows:
PS C:\> $Records = @()
PS C:\> $Records += New-AzureRmDnsRecordConfig -IPv4Address 1.2.3.4
PS C:\> $Records += New-AzureRmDnsRecordConfig -IPv4Address 5.6.7.8
PS C:\> $RecordSet = New-AzureRmDnsRecordSet -Name "www" -RecordType A -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords $Records
此示例在区域 myzone.com 创建 名为 www 的 RecordSet 。 记录集的类型为 A,其 TTL 为 1 小时(3600 秒)。 它包含单个 DNS 记录。
示例 2:创建 AAAA 类型的 RecordSet
PS C:\> $Records = @()
PS C:\> $Records += New-AzureRmDnsRecordConfig -Ipv6Address 2001:db8::1
PS C:\> $RecordSet = New-AzureRmDnsRecordSet -Name "www" -RecordType AAAA -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords $Records
此示例在区域 myzone.com 创建 名为 www 的 RecordSet 。 记录集的类型为 AAAA,其 TTL 为 1 小时(3600 秒)。 它包含单个 DNS 记录。 若要仅使用一行pn_PowerShell_short创建 RecordSet ,或创建具有多个记录的记录集,请参阅示例 1。
示例 3:创建 CNAME 类型的 RecordSet
PS C:\> $Records = @()
PS C:\> $Records += New-AzureRmDnsRecordConfig -Cname www.contoso.com
PS C:\> $RecordSet = New-AzureRmDnsRecordSet -Name "www" -RecordType CNAME -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords $Records
此示例在区域 myzone.com 创建 名为 www 的 RecordSet 。 记录集的类型为 CNAME,其 TTL 为 1 小时(3600 秒)。 它包含单个 DNS 记录。 若要仅使用一行pn_PowerShell_short创建 RecordSet ,或创建具有多个记录的记录集,请参阅示例 1。
示例 4:创建 MX 类型的 RecordSet
PS C:\> $Records = @()
PS C:\> $Records += New-AzureRmDnsRecordConfig -Exchange "mail.microsoft.com" -Preference 5
PS C:\> $RecordSet = New-AzureRmDnsRecordSet -Name "www" -RecordType AAAA -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords $Records
此命令在区域 myzone.com 中创建 名为 www 的 RecordSet 。 记录集的类型为 MX,其 TTL 为 1 小时(3600 秒)。 它包含单个 DNS 记录。 若要仅使用一行pn_PowerShell_short创建 RecordSet ,或创建具有多个记录的记录集,请参阅示例 1。
示例 5:创建 NS 类型的 RecordSet
PS C:\> $Records = @()
PS C:\> $Records += New-AzureRmDnsRecordConfig -Nsdname ns1-01.azure-dns.com
PS C:\> $RecordSet = New-AzureRmDnsRecordSet -Name "ns1" -RecordType NS -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords $Records
此命令在区域 myzone.com 中创建 名为 ns1 的 RecordSet 。 记录集的类型为 NS,其 TTL 为 1 小时(3600 秒)。 它包含单个 DNS 记录。 若要仅使用一行pn_PowerShell_short创建 RecordSet ,或创建具有多个记录的记录集,请参阅示例 1。
示例 6:创建 PTR 类型的 RecordSet
PS C:\> $Records = @()
PS C:\> $Records += New-AzureRmDnsRecordConfig -Ptrdname www.contoso.com
PS C:\> $RecordSet = New-AzureRmDnsRecordSet -Name "4" -RecordType PTR -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "3.2.1.in-addr.arpa" -DnsRecords $Records
此命令在区域 3.2.1.in-addr.arpa 中创建 名为 4 的 RecordSet 。 记录集的类型为 PTR,其 TTL 为 1 小时(3600 秒)。 它包含单个 DNS 记录。 若要仅使用一行pn_PowerShell_short创建 RecordSet ,或创建具有多个记录的记录集,请参阅示例 1。
示例 7:创建 SRV 类型的 RecordSet
PS C:\> $Records = @()
PS C:\> $Records += New-AzureRmDnsRecordConfig -Priority 0 -Weight 5 -Port 8080 -Target sipservice.contoso.com
PS C:\> $RecordSet = New-AzureRmDnsRecordSet -Name "_sip._tcp" -RecordType SRV -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords $Records
此命令在区域 myzone.com 中创建 名为 _sip._tcp 的 RecordSet 。 记录集的类型为 SRV,其 TTL 为 1 小时(3600 秒)。 它包含单个 DNS 记录,指向 IP 地址 2001.2.3.4。 服务(sip)和协议(tcp)被指定为记录集名称的一部分,而不是记录数据的一部分。 若要仅使用一行pn_PowerShell_short创建 RecordSet ,或创建具有多个记录的记录集,请参阅示例 1。
示例 8:创建 TXT 类型的 RecordSet
PS C:\> $Records = @()
PS C:\> $Records += New-AzureRmDnsRecordConfig -Value "This is a TXT Record"
PS C:\> $RecordSet = New-AzureRmDnsRecordSet -Name "text" -RecordType TXT -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords $Records
此命令在区域 myzone.com 创建一个名为 文本的 RecordSet 。 记录集的类型为 TXT,其 TTL 为 1 小时(3600 秒)。 它包含单个 DNS 记录。 若要仅使用一行pn_PowerShell_short创建 RecordSet ,或创建具有多个记录的记录集,请参阅示例 1。
示例 9:在区域顶点创建 RecordSet
PS C:\> $Records = @()
PS C:\> $Records += New-AzureRmDnsRecordConfig -Ipv4Address 1.2.3.4
PS C:\> $RecordSet = New-AzureRmDnsRecordSet -Name "@" -RecordType A -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords $Records
此命令在 区域 myzone.com 的顶点(或根)处创建 RecordSet 。 为此,记录集名称指定为“@”(包括双引号)。 不能在区域的顶点创建 CNAME 记录。 这是 DNS 标准的约束;它不是 Azure DNS 的限制。 若要仅使用一行pn_PowerShell_short创建 RecordSet ,或创建具有多个记录的记录集,请参阅示例 1。
示例 10:创建野生卡记录集
PS C:\> $Records = @()
PS C:\> $Records += New-AzureRmDnsRecordConfig -Ipv4Address 1.2.3.4
PS C:\> $RecordSet = New-AzureRmDnsRecordSet -Name "*" -RecordType A -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords $Records
此命令在区域 myzone.com 中创建 名为 * 的 RecordSet 。 这是一个野生卡记录集。 若要仅使用一行pn_PowerShell_short创建 RecordSet ,或创建具有多个记录的记录集,请参阅示例 1。
示例 11:创建空记录集
PS C:\>$RecordSet = New-AzureRmDnsRecordSet -Name "www" -RecordType A -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords @()
此命令在区域 myzone.com 中创建 名为 www 的 RecordSet 。 记录集的类型为 A,其 TTL 为 1 小时(3600 秒)。 这是一个空记录集,充当可以稍后向其添加记录的占位符。
示例 12:创建记录集并取消所有确认
PS C:\>$RecordSet = New-AzureRmDnsRecordSet -Name "www" -RecordType A -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords (New-AzureRmDnsRecordConfig -Ipv4Address 1.2.3.4) -Confirm:$False -Overwrite
此命令创建 RecordSet。 Overwrite 参数可确保此记录集覆盖具有相同名称和类型的任何预先存在的记录集(该记录集中的现有记录丢失)。 值为 $False 的 Confirm 参数将取消确认提示。
参数
-Confirm
提示你在运行 cmdlet 之前进行确认。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
用于与 azure 通信的凭据、帐户、租户和订阅
Type: | IAzureContextContainer |
Aliases: | AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DnsRecords
指定要包含在记录集中的 DNS 记录数组。 可以使用 New-AzureRmDnsRecordConfig cmdlet 创建 DNS 记录对象。 有关更多信息,请参见示例。
Type: | DnsRecordBase[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Metadata
指定要与 RecordSet 关联的元数据数组。 元数据是使用表示为哈希表的名称值对指定的,例如 @(@{“Name”=“dept”;“Value”=“shopping”}, @{“Name”=“env”;“Value”=“production”}。
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
指定要创建的 RecordSet 的名称。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Overwrite
指示此 cmdlet 覆盖指定的 RecordSet (如果已存在)。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RecordType
指定要创建的 DNS 记录的类型。 有效值为:
- A
- AAAA
- CNAME
- MX
- NS
- PTR
- SRV
- 创建区域且无法手动创建时,会自动创建 TXT SOA 记录。
Type: | RecordType |
Accepted values: | A, AAAA, CAA, CNAME, MX, NS, PTR, SOA, SRV, TXT |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ResourceGroupName
指定包含 DNS 区域的资源组。 还必须指定 ZoneName 参数以指定区域名称。 或者,可以使用 Zone 参数传入 DNS Zone 对象来指定区域和资源组。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-TargetResourceId
别名目标资源 ID。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Ttl
指定 DNS RecordSet 的生存时间(TTL)。
Type: | UInt32 |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Zone
指定要在其中创建 RecordSet 的 DnsZone。 或者,可以使用 ZoneName 和 ResourceGroupName 参数指定区域。
Type: | DnsZone |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ZoneName
指定要在其中创建 RecordSet 的区域的名称。 还必须使用 ResourceGroupName 参数指定包含区域的资源组。 或者,可以使用 Zone 参数传入 DNS Zone 对象来指定区域和资源组。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
输入
参数:区域(ByValue)
参数:DnsRecords (ByValue)
输出
备注
可以使用 Confirm 参数来控制此 cmdlet 是否提示你进行确认。 默认情况下,如果 $ConfirmPreference Windows PowerShell 变量的值为“中”或“较低”,cmdlet 会提示你进行确认。 如果指定“确认”或“确认:$True”,则此 cmdlet 会在运行之前提示你进行确认。 如果指定 Confirm:$False,cmdlet 不会提示你进行确认。