New-AzDnsRecordSet

建立 DNS 記錄集。

Syntax

New-AzDnsRecordSet
   -Name <String>
   -ZoneName <String>
   -ResourceGroupName <String>
   -Ttl <UInt32>
   -RecordType <RecordType>
   [-Metadata <Hashtable>]
   [-DnsRecords <DnsRecordBase[]>]
   [-Overwrite]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzDnsRecordSet
   -Name <String>
   -ZoneName <String>
   -ResourceGroupName <String>
   [-Ttl <UInt32>]
   -RecordType <RecordType>
   -TargetResourceId <String>
   [-Metadata <Hashtable>]
   [-DnsRecords <DnsRecordBase[]>]
   [-Overwrite]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzDnsRecordSet
   -Name <String>
   -Zone <DnsZone>
   -Ttl <UInt32>
   -RecordType <RecordType>
   [-Metadata <Hashtable>]
   [-DnsRecords <DnsRecordBase[]>]
   [-Overwrite]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzDnsRecordSet
   -Name <String>
   -Zone <DnsZone>
   [-Ttl <UInt32>]
   -RecordType <RecordType>
   -TargetResourceId <String>
   [-Metadata <Hashtable>]
   [-DnsRecords <DnsRecordBase[]>]
   [-Overwrite]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

New-AzDnsRecordSet Cmdlet 會建立具有指定名稱的新域名系統 (DNS) 記錄集,並在指定的區域中輸入 。 RecordSet 物件是一組具有相同名稱和類型的 DNS 記錄。 請注意,名稱相對於區域,而不是完整名稱。 DnsRecords 參數會指定記錄集中的記錄。 此參數會採用使用 New-AzDnsRecordConfig 建構的 DNS 記錄陣列。 您可以使用管線運算符將 DnsZone 對象傳遞至此 Cmdlet,也可以傳遞 DnsZone 對象作為 Zone 參數,或者您也可以依名稱指定區域。 您可以使用 Confirm 參數和 $ConfirmPreference Windows PowerShell 變數來控制 Cmdlet 是否提示您進行確認。 如果相符 的 RecordSet 已經存在(相同的名稱和記錄類型),您必須指定 Overwrite 參數,否則 Cmdlet 將不會建立新的 RecordSet

範例

範例 1:建立類型為 A 的 RecordSet

$Records = @()
$Records += New-AzDnsRecordConfig -IPv4Address 1.2.3.4
$RecordSet = New-AzDnsRecordSet -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:

$RecordSet = New-AzDnsRecordSet -Name "www" -RecordType A -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords (New-AzDnsRecordConfig -IPv4Address 1.2.3.4)

# To create a record set containing multiple records, use New-AzDnsRecordConfig to add each record to the $Records array,
# then call New-AzDnsRecordSet, as follows:

$Records = @()
$Records += New-AzDnsRecordConfig -IPv4Address 1.2.3.4
$Records += New-AzDnsRecordConfig -IPv4Address 5.6.7.8
$RecordSet = New-AzDnsRecordSet -Name "www" -RecordType A -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords $Records

此範例會在區域中建立 名為 www 的 RecordSet myzone.com。 記錄集的類型為 A,且 TTL 為 1 小時(3600 秒)。 其中包含單一 DNS 記錄。

範例 2:建立 AAAA 類型的 RecordSet

$Records = @()
$Records += New-AzDnsRecordConfig -Ipv6Address 2001:db8::1
$RecordSet = New-AzDnsRecordSet -Name "www" -RecordType AAAA -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords $Records

此範例會在區域中建立 名為 www 的 RecordSet myzone.com。 記錄集的類型為AAAA,且TTL為1小時(3600秒)。 其中包含單一 DNS 記錄。 若要使用一行pn_PowerShell_short建立 RecordSet,或建立具有多個記錄的記錄集,請參閱範例 1。

範例 3:建立 CNAME 類型的 RecordSet

$Records = @()
$Records += New-AzDnsRecordConfig -Cname www.contoso.com
$RecordSet = New-AzDnsRecordSet -Name "www" -RecordType CNAME -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords $Records

此範例會在區域中建立 名為 www 的 RecordSet myzone.com。 記錄集的類型為 CNAME,且 TTL 為 1 小時(3600 秒)。 其中包含單一 DNS 記錄。 若要使用一行pn_PowerShell_short建立 RecordSet,或建立具有多個記錄的記錄集,請參閱範例 1。

範例 4:建立 MX 類型的 RecordSet

$Records = @()
$Records += New-AzDnsRecordConfig -Exchange "mail.microsoft.com" -Preference 5
$RecordSet = New-AzDnsRecordSet -Name "mail" -RecordType MX -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords $Records

此命令會在區域中建立 名為 www 的 RecordSet myzone.com。 記錄集的類型為 MX,且 TTL 為 1 小時(3600 秒)。 其中包含單一 DNS 記錄。 若要使用一行pn_PowerShell_short建立 RecordSet,或建立具有多個記錄的記錄集,請參閱範例 1。

範例 5:建立 NS 類型的 RecordSet

$Records = @()
$Records += New-AzDnsRecordConfig -Nsdname ns1-01.azure-dns.com
$RecordSet = New-AzDnsRecordSet -Name "ns1" -RecordType NS -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords $Records

此命令會在區域中建立 名為 ns1 的 RecordSet myzone.com。 記錄集的類型為 NS,且 TTL 為 1 小時(3600 秒)。 其中包含單一 DNS 記錄。 若要使用一行pn_PowerShell_short建立 RecordSet,或建立具有多個記錄的記錄集,請參閱範例 1。

範例 6:建立 PTR 類型的 RecordSet

$Records = @()
$Records += New-AzDnsRecordConfig -Ptrdname www.contoso.com
$RecordSet = New-AzDnsRecordSet -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

$Records = @()
$Records += New-AzDnsRecordConfig -Priority 0 -Weight 5 -Port 8080 -Target sipservice.contoso.com
$RecordSet = New-AzDnsRecordSet -Name "_sip._tcp" -RecordType SRV -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords $Records

此命令會在 區域中建立名為 _sip._tcp 的 RecordSet myzone.com。 記錄集的類型為 SRV,且 TTL 為 1 小時(3600 秒)。 其中包含單一 DNS 記錄,指向 IP 位址 2001.2.3.4。 服務 (sip) 和通訊協定 (tcp) 會指定為記錄集名稱的一部分,而不是記錄數據的一部分。 若要使用一行pn_PowerShell_short建立 RecordSet,或建立具有多個記錄的記錄集,請參閱範例 1。

範例 8:建立 TXT 類型的 RecordSet

$Records = @()
$Records += New-AzDnsRecordConfig -Value "This is a TXT Record"
$RecordSet = New-AzDnsRecordSet -Name "text" -RecordType TXT -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords $Records

此命令會在區域中建立 名為 text 的 RecordSet myzone.com。 記錄集的類型為 TXT,且 TTL 為 1 小時(3600 秒)。 其中包含單一 DNS 記錄。 若要使用一行pn_PowerShell_short建立 RecordSet,或建立具有多個記錄的記錄集,請參閱範例 1。

範例 9:在區域頂點建立 RecordSet

$Records = @()
$Records += New-AzDnsRecordConfig -Ipv4Address 1.2.3.4
$RecordSet = New-AzDnsRecordSet -Name "@" -RecordType A -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords $Records

此命令會在 區域頂點(或根目錄)建立 RecordSet myzone.com。 若要這樣做,記錄集名稱會指定為 “@” (包括雙引號)。 您無法在區域的頂點建立 CNAME 記錄。 這是 DNS 標準的條件約束;這不是 Azure DNS 的限制。 若要使用一行pn_PowerShell_short建立 RecordSet,或建立具有多個記錄的記錄集,請參閱範例 1。

範例 10:建立通配符記錄集

$Records = @()
$Records += New-AzDnsRecordConfig -Ipv4Address 1.2.3.4
$RecordSet = New-AzDnsRecordSet -Name "*" -RecordType A -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords $Records

此命令會在區域中建立 名為 * 的 RecordSet myzone.com。 這是通配符記錄集。 若要使用一行pn_PowerShell_short建立 RecordSet,或建立具有多個記錄的記錄集,請參閱範例 1。

範例 11:建立空白記錄集

$RecordSet = New-AzDnsRecordSet -Name "www" -RecordType A -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords @()

此命令會在區域中建立 名為 www 的 RecordSet myzone.com。 記錄集的類型為 A,且 TTL 為 1 小時(3600 秒)。 這是空的記錄集,可作為您稍後新增記錄的佔位符。

範例 12:建立記錄集並隱藏所有確認

$RecordSet = New-AzDnsRecordSet -Name "www" -RecordType A -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords (New-AzDnsRecordConfig -Ipv4Address 1.2.3.4) -Confirm:$False -Overwrite

此命令會建立 RecordSetOverwrite 參數可確保此記錄集會以相同的名稱和類型覆寫任何預先存在的記錄集(該記錄集中的現有記錄會遺失)。 具有 $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:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DnsRecords

指定要包含在記錄集中的 DNS 記錄陣列。 您可以使用 New-AzDnsRecordConfig Cmdlet 來建立 DNS 記錄物件。 如需詳細資訊,請參閱範例。

Type:DnsRecordBase[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Metadata

指定要與 RecordSet 產生關聯的元數據陣列。 元數據是使用以哈希表表示的名稱/值組來指定,例如 @{“dept”=“shopping”;”env“=”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

指出如果指定的 RecordSet 已經存在,此 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, Tlsa, DS, Naptr
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

別名目標資源標識碼。

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

指定要在其中建立 RecordSetDnsZone。 或者,您可以使用 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

輸入

String

DnsZone

UInt32

RecordType

Hashtable

DnsRecordBase[]

輸出

DnsRecordSet

備註

您可以使用 Confirm 參數來控制此 Cmdlet 是否提示您進行確認。 根據預設,Cmdlet 會提示您確認$ConfirmPreference Windows PowerShell 變數的值是否為 Medium 或更低。 如果您指定 Confirm 或 Confirm:$True,此 Cmdlet 會在執行之前提示您確認。 如果您指定 Confirm:$False,Cmdlet 不會提示您進行確認。