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>]

説明

New-AzDnsRecordSet コマンドレットは、指定したゾーンに名前と種類を指定して、新しい Doメイン Name System (DNS) レコード セットを作成します。 RecordSet オブジェクトは、同じ名前と種類の DNS レコードのセットです。 名前はゾーンに対して相対的であり、完全修飾名ではないことに注意してください。 DnsRecords パラメーターは、レコード セット内のレコードを指定します。 このパラメーターは、New-AzDnsRecordConfig を使用して構築された DNS レコードの配列を受け取ります。 パイプライン演算子を使用して、このコマンドレットに DnsZone オブジェクトを渡すか、ゾーン パラメーターとして DnsZone オブジェクトを渡すか、またはゾーンを名前で指定することもできます。 Confirm パラメーターと Windows PowerShell 変数$ConfirmPreference使用して、コマンドレットで確認を求めるメッセージを表示するかどうかを制御できます。 一致する RecordSet が既に存在する場合 (同じ名前とレコードの種類)、Overwrite パラメーターを指定する必要があります。それ以外の場合、コマンドレットは新しい 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 秒) です。 1 つの 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 秒) です。 1 つの DNS レコードが含まれています。 1 行の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 秒) です。 1 つの DNS レコードが含まれています。 1 行の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 秒) です。 1 つの DNS レコードが含まれています。 1 行の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 秒) です。 1 つの DNS レコードが含まれています。 1 行の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 秒) です。 1 つの DNS レコードが含まれています。 1 行の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 秒) です。 IP アドレス 2001.2.3.4 を指す 1 つの DNS レコードが含まれています。 サービス (sip) とプロトコル (tcp) は、レコード データの一部ではなく、レコード セット名の一部として指定されます。 1 行の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 秒) です。 1 つの DNS レコードが含まれています。 1 行の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 の制限ではありません。 1 行の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 を作成します。 これは、野生のカードレコード セットです。 1 行の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 パラメーターは、確認プロンプトを抑制します。

パラメーター

-Confirm

コマンドレットの実行前に確認を求めるメッセージが表示されます。

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 コマンドレットを使用して、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 が既に存在する場合、このコマンドレットによって上書きされることを示します。

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 ゾーン オブジェクトを渡すことによって、ゾーンとリソース グループを指定することもできます。

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 の Time to Live (TTL) を指定します。

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

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

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 ゾーン オブジェクトを渡すことによって、ゾーンとリソース グループを指定することもできます。

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 パラメーターを使用して、このコマンドレットで確認を求めるメッセージを表示するかどうかを制御できます。 既定では、$ConfirmPreference Windows PowerShell 変数の値が Medium 以下の場合は、確認を求めるメッセージが表示されます。 Confirm または Confirm:$True を指定すると、実行前に確認を求めるメッセージが表示されます。 Confirm:$False を指定した場合、コマンドレットは確認を求めません。