New-AzDnsRecordSet
建立 DNS 記錄集。
語法
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
此範例會在區域 myzone.com 中建立名為 www 的 RecordSet。 記錄集的類型為 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
此範例會在區域 myzone.com 中建立名為 www 的 RecordSet。 記錄集的類型為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
此範例會在區域 myzone.com 中建立名為 www 的 RecordSet。 記錄集的類型為 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
此命令會在區域 myzone.com 中建立名為 www 的 RecordSet。 記錄集的類型為 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
此命令會在區域 myzone.com 中建立名為 ns1 的 RecordSet。 記錄集的類型為 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
此命令會在區域 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
$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
此命令會在區域 myzone.com 中建立 RecordSet 具名文字。 記錄集的類型為 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
此命令會在區域 myzone.com 頂點(或根目錄)建立 RecordSet。 若要這樣做,記錄集名稱會指定為 “@” (包括雙引號)。 您無法在區域的頂點建立 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
此命令會在區域 myzone.com 中建立名為 * 的 RecordSet。 這是通配符記錄集。 若要使用一行pn_PowerShell_short建立 RecordSet,或建立具有多個記錄的記錄集,請參閱範例 1。
範例 11:建立空白記錄集
$RecordSet = New-AzDnsRecordSet -Name "www" -RecordType A -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" -DnsRecords @()
此命令會在區域 myzone.com 中建立名為 www 的 RecordSet。 記錄集的類型為 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
這個指令會建立 RecordSet。 Overwrite 參數可確保此記錄集會覆寫任何具有相同名稱和類型的預先存在的記錄集(該記錄集中的現有記錄會遺失)。 確認 參數的值$False會隱藏確認提示。
參數
-Confirm
在執行 Cmdlet 之前,提示您進行確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DefaultProfile
用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶
類型: | IAzureContextContainer |
別名: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DnsRecords
指定要包含在記錄集中的 DNS 記錄陣列。 您可以使用 New-AzDnsRecordConfig Cmdlet 來建立 DNS 記錄物件。 如需詳細資訊,請參閱範例。
類型: | DnsRecordBase[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-Metadata
指定要與 RecordSet 產生關聯的元數據陣列。 元數據是使用以哈希表表示的名稱/值組來指定,例如 @{“dept”=“shopping”;”env“=”production“}。
類型: | Hashtable |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-Name
指定要建立 RecordSet 的名稱。
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-Overwrite
指出此 Cmdlet 會覆寫指定的 recordSet ,如果它已經存在,則為。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-RecordType
指定要建立的 DNS 記錄類型。 有效值為:
- 一個
- AAAA
- CNAME
- MX
- NAPTR
- NS
- PTR
- SRV
- 建立區域且無法手動建立時,會自動建立 TXT SOA 記錄。
類型: | RecordType |
接受的值: | A, Aaaa, CAA, Cname, MX, NS, PTR, SOA, SRV, TXT, Tlsa, DS, Naptr |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-ResourceGroupName
指定包含 DNS 區域的資源群組。 您也必須指定 ZoneName 參數來指定區域名稱。 或者,您可以使用 Zone 參數傳入 DNS Zone 物件,以指定區域和資源群組。
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-TargetResourceId
別名目標資源標識碼。
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-Ttl
指定 DNS RecordSet 的存留時間(TTL)。
類型: | UInt32 |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-WhatIf
顯示 Cmdlet 執行時會發生什麼事。 Cmdlet 未執行。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Zone
指定要在其中建立 RecordSet的 DnsZone。 或者,您可以使用 ZoneName 和 ResourceGroupName 參數來指定區域。
類型: | DnsZone |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-ZoneName
指定要在其中建立 RecordSet的區域名稱。 您也必須使用 ResourceGroupName 參數來指定包含區域的資源群組。 或者,您可以使用 Zone 參數傳入 DNS Zone 物件,以指定區域和資源群組。
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
輸入
輸出
備註
您可以使用 Confirm 參數來控制此 Cmdlet 是否提示您進行確認。 根據預設,Cmdlet 會提示您確認$ConfirmPreference Windows PowerShell 變數的值是否為 Medium 或更低。 如果您指定 Confirm 或 Confirm:$True,此 Cmdlet 會在執行之前提示您確認。 如果您指定 Confirm:$False,Cmdlet 不會提示您進行確認。