Gestire record e recordset DNS in DNS di Azure con Azure PowerShellManage DNS records and recordsets in Azure DNS using Azure PowerShell

Questo articolo descrive come gestire i record DNS per la zona DNS usando Azure PowerShell.This article shows you how to manage DNS records for your DNS zone by using Azure PowerShell. Per gestire i record DNS è anche possibile usare l'interfaccia della riga di comando multipiattaforma di Azure o il portale di Azure.DNS records can also be managed by using the cross-platform Azure CLI or the Azure portal.

Gli esempi contenuti in questo articolo presuppongono che l'utente abbia installato Azure PowerShell, eseguito l'accesso e creato una zona DNS.The examples in this article assume you have already installed Azure PowerShell, signed in, and created a DNS zone.

IntroduzioneIntroduction

Prima di creare record DNS nel servizio DNS di Azure, è necessario comprendere il modo in cui quest'ultimo organizza i record DNS nei set di record DNS.Before creating DNS records in Azure DNS, you first need to understand how Azure DNS organizes DNS records into DNS record sets.

Nomi dei recordRecord names

Nel servizio DNS di Azure i record vengono specificati usando nomi relativi.In Azure DNS, records are specified by using relative names. Un nome di dominio completo (FQDN) include il nome della zona, mentre un nome relativo no.A fully qualified domain name (FQDN) includes the zone name, whereas a relative name does not. Ad esempio, il nome di record relativo "www" nella zona "contoso.com" genera il nome di record completo "www.contoso.com".For example, the relative record name 'www' in the zone 'contoso.com' gives the fully qualified record name 'www.contoso.com'.

Un record vertice è un record DNS alla radice (o vertice) di una zona DNS.An apex record is a DNS record at the root (or apex) of a DNS zone. Ad esempio, nella zona DNS "contoso.com", anche un record vertice ha il nome completo "contoso.com", chiamato a volte dominio di tipo naked.For example, in the DNS zone 'contoso.com', an apex record also has the fully qualified name 'contoso.com' (this is sometimes called a naked domain). Per convenzione, per rappresentare record vertice viene usato il nome relativo '@'.By convention, the relative name '@' is used to represent apex records.

Tipi di recordRecord types

Ogni record DNS ha un nome e un tipo.Each DNS record has a name and a type. I record sono organizzati in tipi diversi in base ai dati che contengono.Records are organized into various types according to the data they contain. Il tipo più comune è il record "A", che esegue il mapping di un nome a un indirizzo IPv4.The most common type is an 'A' record, which maps a name to an IPv4 address. Un altro tipo comune è il record "MX", che esegue il mapping di un nome a un server di posta.Another common type is an 'MX' record, which maps a name to a mail server.

DNS di Azure supporta tutti i tipi di record DNS comuni: A, AAAA, CAA, CNAME, MX, NS, PTR, SOA, SRV e TXT.Azure DNS supports all common DNS record types: A, AAAA, CAA, CNAME, MX, NS, PTR, SOA, SRV, and TXT. Si noti che i record SPF vengono rappresentati usando record TXT.Note that SPF records are represented using TXT records.

Set di recordRecord sets

In alcuni casi è necessario creare più record DNS con un determinato nome e tipo.Sometimes you need to create more than one DNS record with a given name and type. Si supponga, ad esempio, che il sito Web "www.contoso.com" sia ospitato in due diversi indirizzi IP.For example, suppose the 'www.contoso.com' web site is hosted on two different IP addresses. Questo sito Web richiede due diversi record A, uno per ogni indirizzo IP.The website requires two different A records, one for each IP address. Ecco un esempio di un set di record:Here is an example of a record set:

www.contoso.com.        3600    IN    A    134.170.185.46
www.contoso.com.        3600    IN    A    134.170.188.221

DNS di Azure gestisce tutti i record DNS usando set di record.Azure DNS manages all DNS records using record sets. Un set di record, chiamato anche set di record di risorse è la raccolta di record DNS che hanno lo stesso nome e sono dello stesso tipo in una zona.A record set (also known as a resource record set) is the collection of DNS records in a zone that have the same name and are of the same type. La maggior parte dei set di record contiene un singolo record.Most record sets contain a single record. Non sono tuttavia rari esempi come quello precedente, in cui un set di record contiene più di un record.However, examples like the one above, in which a record set contains more than one record, are not uncommon.

Si supponga, ad esempio, di aver già creato un record "www" nella zona "contoso.com", che punta all'indirizzo IP "134.170.185.46" (primo record sopra).For example, suppose you have already created an A record 'www' in the zone 'contoso.com', pointing to the IP address '134.170.185.46' (the first record above). Per creare il secondo record, è necessario aggiungere il record al set di record esistente invece di creare un altro set di record.To create the second record you would add that record to the existing record set, rather than create an additional record set.

I tipi di record SOA e CNAME sono eccezioni.The SOA and CNAME record types are exceptions. Gli standard DNS non permettono più record con lo stesso nome per questi tipi, quindi questi set di record possono contenere un solo record.The DNS standards don't permit multiple records with the same name for these types, therefore these record sets can only contain a single record.

Per altre informazioni sui record DNS nel servizio DNS di Azure, vedere Zone e record DNS.For more information about DNS records in Azure DNS, see DNS zones and records.

Creare un nuovo record DNSCreate a new DNS record

Se il nuovo record ha lo stesso nome e tipo di un record esistente, è necessario aggiungerlo al set di record esistente.If your new record has the same name and type as an existing record, you need to add it to the existing record set. Se il nuovo record ha un nome e un tipo diversi rispetto a tutti i record esistenti, è necessario creare un nuovo set di record.If your new record has a different name and type to all existing records, you need to create a new record set.

Creare record di tipo "A" in un nuovo set di recordCreate 'A' records in a new record set

I set di record vengono creati usando il cmdlet New-AzureRmDnsRecordSet.You create record sets by using the New-AzureRmDnsRecordSet cmdlet. Quando si crea un set di record, è necessario specificare il nome, la zona, la durata (TTL), il tipo di record e i record da creare.When creating a record set, you need to specify the record set name, the zone, the time to live (TTL), the record type, and the records to be created.

I parametri per l'aggiunta di record a un set di record variano a seconda del tipo del set di record.The parameters for adding records to a record set vary depending on the type of the record set. Quando ad esempio si usa un set di record di tipo A, è necessario specificare l'indirizzo IP usando il parametro -IPv4Address.For example, when using a record set of type 'A', you need to specify the IP address using the parameter -IPv4Address. Per altri tipi di record vengono usati altri parametri.Other parameters are used for other record types. Per altre informazioni, vedere la sezione Altri esempi di tipi di record.See Additional record type examples for details.

L'esempio seguente illustra la creazione di un set di record con il nome relativo "www" nella zona DNS "contoso.com".The following example creates a record set with the relative name 'www' in the DNS Zone 'contoso.com'. Il nome completo del set di record è "www.contoso.com".The fully-qualified name of the record set is 'www.contoso.com'. Il tipo di record è "A" e la durata (TTL) è 3600 secondi.The record type is 'A', and the TTL is 3600 seconds. Il set di record contiene un record singolo con indirizzo IP "1.2.3.4".The record set contains a single record, with IP address '1.2.3.4'.

New-AzureRmDnsRecordSet -Name "www" -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzureRmDnsRecordConfig -IPv4Address "1.2.3.4") 

Per creare un set di record nel vertice di una zona, in questo caso "contoso.com", usare il nome del set di record '@', escluse le virgolette:To create a record set at the 'apex' of a zone (in this case, 'contoso.com'), use the record set name '@' (excluding quotation marks):

New-AzureRmDnsRecordSet -Name "@" -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzureRmDnsRecordConfig -IPv4Address "1.2.3.4") 

Se è necessario creare un nuovo set di record contenente più record, creare prima una matrice locale e aggiungervi i record, quindi passare la matrice a New-AzureRmDnsRecordSet, come indicato di seguito:If you need to create a record set containing more than one record, first create a local array and add the records, then pass the array to New-AzureRmDnsRecordSet as follows:

$aRecords = @()
$aRecords += New-AzureRmDnsRecordConfig -IPv4Address "1.2.3.4"
$aRecords += New-AzureRmDnsRecordConfig -IPv4Address "2.3.4.5"
New-AzureRmDnsRecordSet -Name www –ZoneName "contoso.com" -ResourceGroupName MyResourceGroup -Ttl 3600 -RecordType A -DnsRecords $aRecords

È possibile usare i metadati del set di record per associare dati specifici dell'applicazione a ogni set di record, sotto forma di coppie chiave-valore.Record set metadata can be used to associate application-specific data with each record set, as key-value pairs. L'esempio seguente mostra come creare un set di record con due voci di metadati, dept="finance" ed environment="production".The following example shows how to create a record set with two metadata entries, 'dept=finance' and 'environment=production'.

New-AzureRmDnsRecordSet -Name "www" -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzureRmDnsRecordConfig -IPv4Address "1.2.3.4") -Metadata @{ dept="finance"; environment="production" } 

Il servizio DNS di Azure supporta anche set di record vuoti, che possono fungere da segnaposto per riservare un nome DNS prima della creazione di record DNS.Azure DNS also supports 'empty' record sets, which can act as a placeholder to reserve a DNS name before creating DNS records. I set di record vuoti sono visibili nel piano di controllo del servizio DNS di Azure, ma vengono visualizzati nei server dei nomi del servizio DNS di Azure.Empty record sets are visible in the Azure DNS control plane, but do appear on the Azure DNS name servers. L'esempio seguente mostra come creare un set di record vuoto:The following example creates an empty record set:

New-AzureRmDnsRecordSet -Name "www" -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords @()

Creare record di altri tipiCreate records of other types

Dopo aver visto in dettaglio come creare record di tipo A, gli esempi seguenti illustrano come creare record di altri tipi supportati dal servizio DNS di Azure.Having seen in detail how to create 'A' records, the following examples show how to create records of other record types supported by Azure DNS.

Per ogni caso viene illustrato come creare un set di record contenente un record singolo.In each case, we show how to create a record set containing a single record. Gli esempi precedenti relativi ai record di tipo A possono essere adattati per creare set di record di altri tipi che contengono più record, con metadati, o per creare set di record vuoti.The earlier examples for 'A' records can be adapted to create record sets of other types containing multiple records, with metadata, or to create empty record sets.

Non vengono forniti esempi per la creazione di set di record SOA, dato che vengono creati ed eliminati con ogni zona DNS e non è possibile crearli o eliminarli separatamente.We do not give an example to create an SOA record set, since SOAs are created and deleted with each DNS zone and cannot be created or deleted separately. Tuttavia, è possibile modificare i record SOA, come illustrato in uno degli esempi successivi.However, the SOA can be modified, as shown in a later example.

Creare un set di record AAAA con un singolo recordCreate an AAAA record set with a single record

New-AzureRmDnsRecordSet -Name "test-aaaa" -RecordType AAAA -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzureRmDnsRecordConfig -Ipv6Address "2607:f8b0:4009:1803::1005") 

Creare un set di record CAA con un singolo recordCreate a CAA record set with a single record

New-AzureRmDnsRecordSet -Name "test-caa" -RecordType CAA -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzureRmDnsRecordConfig -Caaflags 0 -CaaTag "issue" -CaaValue "ca1.contoso.com") 

Creare un set di record CNAME con un singolo recordCreate a CNAME record set with a single record

Nota

Gli standard DNS non accettano record CNAME nel dominio radice di una zona (-Name '@') né set di record contenenti più di un record.

Per altre informazioni, vedereRecord CNAME.

New-AzureRmDnsRecordSet -Name "test-cname" -RecordType CNAME -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzureRmDnsRecordConfig -Cname "www.contoso.com") 

Creare un set di record MX con un singolo recordCreate an MX record set with a single record

In questo esempio viene usato il nome del set di record '@' per creare un record MX al vertice della zona, in questo caso "contoso.com".In this example, we use the record set name '@' to create an MX record at the zone apex (in this case, 'contoso.com').

New-AzureRmDnsRecordSet -Name "@" -RecordType MX -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzureRmDnsRecordConfig -Exchange "mail.contoso.com" -Preference 5) 

Creare un set di record NS con un singolo recordCreate an NS record set with a single record

New-AzureRmDnsRecordSet -Name "test-ns" -RecordType NS -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzureRmDnsRecordConfig -Nsdname "ns1.contoso.com") 

Creare un set di record PTR con un singolo recordCreate a PTR record set with a single record

In questo caso "my-arpa-zone.com" è la zona ARPA di ricerca inversa che rappresenta l'intervallo IP dell'utente.In this case, 'my-arpa-zone.com' represents the ARPA reverse lookup zone representing your IP range. Ogni record PTR impostato in questa zona corrisponde a un indirizzo IP che rientra nell'intervallo IP.Each PTR record set in this zone corresponds to an IP address within this IP range. Il nome del record "10" è l'ultimo ottetto dell'indirizzo IP all'interno di questo intervallo di indirizzi rappresentato dal record.The record name '10' is the last octet of the IP address within this IP range represented by this record.

New-AzureRmDnsRecordSet -Name 10 -RecordType PTR -ZoneName "my-arpa-zone.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzureRmDnsRecordConfig -Ptrdname "myservice.contoso.com") 

Creare un set di record SRV con un singolo recordCreate an SRV record set with a single record

Quando si crea un set di record SRV, specificare il _servizio e il _protocollo nel nome del set di record.When creating an SRV record set, specify the _service and _protocol in the record set name. Non è necessario includere '@' nel nome del set di record durante la creazione di un set di record SRV nel dominio radice della zona.There is no need to include '@' in the record set name when creating an SRV record set at the zone apex.

New-AzureRmDnsRecordSet -Name "_sip._tls" -RecordType SRV -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzureRmDnsRecordConfig -Priority 0 -Weight 5 -Port 8080 -Target "sip.contoso.com") 

Creare un set di record TXT con un singolo recordCreate a TXT record set with a single record

L'esempio seguente mostra come creare un record TXT.The following example shows how to create a TXT record. Per altre informazioni sulla lunghezza massima delle stringhe supportata nei record TXT, vedere Record TXT.For more information about the maximum string length supported in TXT records, see TXT records.

New-AzureRmDnsRecordSet -Name "test-txt" -RecordType TXT -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzureRmDnsRecordConfig -Value "This is a TXT record") 

Ottenere un set di recordGet a record set

Per recuperare un set di record esistente, usare Get-AzureRmDnsRecordSet.To retrieve an existing record set, use Get-AzureRmDnsRecordSet. Questo cmdlet restituisce un oggetto locale che rappresenta il set di record nel servizio DNS di Azure.This cmdlet returns a local object that represents the record set in Azure DNS.

Come per New-AzureRmDnsRecordSet, il nome assegnato al set di record deve essere un nome relativo, ovvero deve escludere il nome della zona.As with New-AzureRmDnsRecordSet, the record set name given must be a relative name, meaning it must exclude the zone name. È anche necessario specificare il tipo di record e la zona contenente il set di record.You also need to specify the record type, and the zone containing the record set.

L'esempio seguente mostra come recuperare un set di record.The following example shows how to retrieve a record set. In questo esempio la zona viene specificata con i parametri -ZoneName e -ResourceGroupName.In this example, the zone is specified using the -ZoneName and -ResourceGroupName parameters.

$rs = Get-AzureRmDnsRecordSet -Name "www" -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup"

In alternativa è possibile specificare la zona usando un oggetto zona, passato usando il parametro -Zone.Alternatively, you can also specify the zone using a zone object, passed using the -Zone parameter.

$zone = Get-AzureRmDnsZone -Name "contoso.com" -ResourceGroupName "MyResourceGroup"
$rs = Get-AzureRmDnsRecordSet -Name "www" -RecordType A -Zone $zone

Elencare i set di recordList record sets

È possibile usare Get-AzureRmDnsZone per elencare i set di record in una zona, omettendo i parametri -Name e/o -RecordType.You can also use Get-AzureRmDnsZone to list record sets in a zone, by omitting the -Name and/or -RecordType parameters.

L'esempio seguente restituisce tutti i set di record nella zona:The following example returns all record sets in the zone:

$recordsets = Get-AzureRmDnsRecordSet -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup"

L'esempio seguente illustra come recuperare tutti i set di record di un determinato tipo, specificando il tipo di record e omettendo il nome del set di record:The following example shows how all record sets of a given type can be retrieved by specifying the record type while omitting the record set name:

$recordsets = Get-AzureRmDnsRecordSet -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup"

Per recuperare tutti i set di record con un nome specifico, indipendentemente dai tipi di record, è necessario recuperare tutti i set di record e quindi filtrare i risultati:To retrieve all record sets with a given name, across record types, you need to retrieve all record sets and then filter the results:

$recordsets = Get-AzureRmDnsRecordSet -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" | where {$_.Name.Equals("www")}

In tutti gli esempi precedenti è possibile specificare la zona usando i parametri -ZoneName e -ResourceGroupName, come illustrato, oppure specificando un oggetto zona:In all the above examples, the zone can be specified either by using the -ZoneName and -ResourceGroupNameparameters (as shown), or by specifying a zone object:

$zone = Get-AzureRmDnsZone -Name "contoso.com" -ResourceGroupName "MyResourceGroup"
$recordsets = Get-AzureRmDnsRecordSet -Zone $zone

Aggiungere un record a un set di record esistenteAdd a record to an existing record set

Per aggiungere un record a un set di record esistente, seguire questa procedura in tre passaggi:To add a record to an existing record set, follow the following three steps:

  1. Ottenere il set di record esistente.Get the existing record set

    $rs = Get-AzureRmDnsRecordSet -Name www –ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -RecordType A
    
  2. Aggiungere il nuovo record al set di record locale.Add the new record to the local record set. Si tratta di un'operazione offline.This is an off-line operation.

    Add-AzureRmDnsRecordConfig -RecordSet $rs -Ipv4Address "5.6.7.8"
    
  3. Eseguire il commit della modifica nel servizio DNS di Azure.Commit the change back to the Azure DNS service.

    Set-AzureRmDnsRecordSet -RecordSet $rs
    

Set-AzureRmDnsRecordSetsostituisce il set di record esistente nel servizio DNS di Azure, e tutti i record in esso contenuti, con il set di record specificato.Using Set-AzureRmDnsRecordSet replaces the existing record set in Azure DNS (and all records it contains) with the record set specified. I controlli ETag vengono usati per fare in modo che le modifiche simultanee non vengano sovrascritte.Etag checks are used to ensure concurrent changes are not overwritten. È possibile usare l'opzione facoltativa -Overwrite per disattivare tali controlli.You can use the optional -Overwrite switch to suppress these checks.

Questa sequenza di operazioni può anche essere inviata tramite pipe, vale a dire che l'oggetto set di record può essere passato usando la pipe anziché come parametro:This sequence of operations can also be piped, meaning you pass the record set object by using the pipe rather than passing it as a parameter:

Get-AzureRmDnsRecordSet -Name "www" –ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -RecordType A | Add-AzureRmDnsRecordConfig -Ipv4Address "5.6.7.8" | Set-AzureRmDnsRecordSet

Gli esempi precedenti mostrano come aggiungere un record "A" a un set di record esistente di tipo A.The examples above show how to add an 'A' record to an existing record set of type 'A'. Una sequenza di operazioni simile permette di aggiungere record a set di record di altri tipi, sostituendo il parametro -Ipv4Address di Add-AzureRmDnsRecordConfig con altri parametri specifici per ogni tipo di record.A similar sequence of operations is used to add records to record sets of other types, substituting the -Ipv4Address parameter of Add-AzureRmDnsRecordConfig with other parameters specific to each record type. I parametri per ogni tipo di record sono gli stessi usati per il cmdlet New-AzureRmDnsRecordConfig, come illustrato nella sezione Altri esempi di tipi di record.The parameters for each record type are the same as for the New-AzureRmDnsRecordConfig cmdlet, as shown in Additional record type examples above.

I set di record di tipo "CNAME" o "SOA" non possono contenere più di un record.Record sets of type 'CNAME' or 'SOA' cannot contain more than one record. Questo vincolo è dato dagli standard DNS,This constraint arises from the DNS standards. non è una limitazione del servizio DNS di Azure.It is not a limitation of Azure DNS.

Rimuovere un record da un set di record esistenteRemove a record from an existing record set

Il processo di rimozione di un record da un set di record è simile a quello di aggiunta di un record a un set di record esistente:The process to remove a record from a record set is similar to the process to add a record to an existing record set:

  1. Ottenere il set di record esistente.Get the existing record set

    $rs = Get-AzureRmDnsRecordSet -Name www –ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -RecordType A
    
  2. Rimuovere il record dall'oggetto set di record locale.Remove the record from the local record set object. Si tratta di un'operazione offline.This is an off-line operation. Il record che viene rimosso deve corrispondere esattamente a un record esistente in tutti i parametri.The record that's being removed must be an exact match with an existing record across all parameters.

    Remove-AzureRmDnsRecordConfig -RecordSet $rs -Ipv4Address "5.6.7.8"
    
  3. Eseguire il commit della modifica nel servizio DNS di Azure.Commit the change back to the Azure DNS service. Usare l'opzione facoltativa -Overwrite per disattivare i controlli ETag per le modifiche simultanee.Use the optional -Overwrite switch to suppress Etag checks for concurrent changes.

    Set-AzureRmDnsRecordSet -RecordSet $Rs
    

Se si usa la sequenza di operazioni precedente per rimuovere l'ultimo record da un set di record, il set di record non viene eliminato, ma rimane un set di record vuoto.Using the above sequence to remove the last record from a record set does not delete the record set, rather it leaves an empty record set. Per rimuovere del tutto un set di record, vedere Eliminare un set di record.To remove a record set entirely, see Delete a record set.

Come per l'aggiunta di record a un set di record, anche la sequenza di operazioni per rimuovere un set di record può essere inviata tramite pipe:Similarly to adding records to a record set, the sequence of operations to remove a record set can also be piped:

Get-AzureRmDnsRecordSet -Name www –ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -RecordType A | Remove-AzureRmDnsRecordConfig -Ipv4Address "5.6.7.8" | Set-AzureRmDnsRecordSet

Perché vengano supportati tipi di record diversi, occorre passare i parametri specifici del tipo appropriati a Remove-AzureRmDnsRecordSet.Different record types are supported by passing the appropriate type-specific parameters to Remove-AzureRmDnsRecordSet. I parametri per ogni tipo di record sono gli stessi usati per il cmdlet New-AzureRmDnsRecordConfig, come illustrato nella sezione Altri esempi di tipi di record.The parameters for each record type are the same as for the New-AzureRmDnsRecordConfig cmdlet, as shown in Additional record type examples above.

Modificare un set di record esistenteModify an existing record set

La procedura per la modifica di un set di record esistente è simile a quella per l'aggiunta o la rimozione di record da un set di record:The steps for modifying an existing record set are similar to the steps you take when adding or removing records from a record set:

  1. Recuperare il set di record esistente usando Get-AzureRmDnsRecordSet.Retrieve the existing record set by using Get-AzureRmDnsRecordSet.
  2. Modificare l'oggetto set di record locale. A tale scopo:Modify the local record set object by:
    • Aggiungere o rimuovere record.Adding or removing records
    • Modificare i parametri di record esistenti.Changing the parameters of existing records
    • Modificare i metadati e la durata (TTL) del set di record.Changing the record set metadata and time to live (TTL)
  3. Confermare le modifiche usando il cmdlet Set-AzureRmDnsRecordSet .Commit your changes by using the Set-AzureRmDnsRecordSet cmdlet. In questo modo si sostituisce il set di record esistente nel servizio DNS di Azure con il set di record specificato.This replaces the existing record set in Azure DNS with the record set specified.

Quando si usa Set-AzureRmDnsRecordSet, i controlli ETag vengono usati per fare in modo che le modifiche simultanee non vengano sovrascritte.When using Set-AzureRmDnsRecordSet, Etag checks are used to ensure concurrent changes are not overwritten. È possibile usare l'opzione facoltativa -Overwrite per disattivare tali controlli.You can use the optional -Overwrite switch to suppress these checks.

Per aggiornare un record in un set di record esistenteTo update a record in an existing record set

In questo esempio viene modificato l'indirizzo IP di un record "A" esistente:In this example, we change the IP address of an existing 'A' record:

$rs = Get-AzureRmDnsRecordSet -name "www" -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup"
$rs.Records[0].Ipv4Address = "9.8.7.6"
Set-AzureRmDnsRecordSet -RecordSet $rs

Per modificare un record SOATo modify an SOA record

Non è possibile aggiungere o rimuovere record dal set di record SOA creato automaticamente nel dominio radice della zona, vale a dire -Name "@", incluse le virgolette.You cannot add or remove records from the automatically created SOA record set at the zone apex (-Name "@", including quote marks). È tuttavia possibile modificare i parametri all'interno del record SOA, ad eccezione di "Host", e la durata (TTL) del set di record.However, you can modify any of the parameters within the SOA record (except "Host") and the record set TTL.

L'esempio seguente mostra come modificare la proprietà Email del record SOA:The following example shows how to change the Email property of the SOA record:

$rs = Get-AzureRmDnsRecordSet -Name "@" -RecordType SOA -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup"
$rs.Records[0].Email = "admin.contoso.com"
Set-AzureRmDnsRecordSet -RecordSet $rs

Per modificare i record NS al vertice della zonaTo modify NS records at the zone apex

Il set di record NS al vertice della zona viene creato automaticamente con ogni zona DNS.The NS record set at the zone apex is automatically created with each DNS zone. Contiene i nomi dei server dei nomi DNS di Azure assegnati alla zona.It contains the names of the Azure DNS name servers assigned to the zone.

È possibile aggiungere ulteriori server dei nomi a questo set di record NS per supportare domini coesistenti con più provider DNS.You can add additional name servers to this NS record set, to support co-hosting domains with more than one DNS provider. È anche possibile modificare il valore TTL e i metadati per questo set di record.You can also modify the TTL and metadata for this record set. Tuttavia, non è possibile rimuovere o modificare i server dei nomi DNS di Azure già popolati.However, you cannot remove or modify the pre-populated Azure DNS name servers.

Notare che questo si applica solo al set di record NS al vertice della zona.Note that this applies only to the NS record set at the zone apex. Gli altri set di record NS nella zona (usati per delegare le zone figlio) possono essere modificati senza vincoli.Other NS record sets in your zone (as used to delegate child zones) can be modified without constraint.

L'esempio seguente mostra come aggiungere un ulteriore server dei nomi al set di record NS al vertice della zona:The following example shows how to add an additional name server to the NS record set at the zone apex:

$rs = Get-AzureRmDnsRecordSet -Name "@" -RecordType NS -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup"
Add-AzureRmDnsRecordConfig -RecordSet $rs -Nsdname ns1.myotherdnsprovider.com
Set-AzureRmDnsRecordSet -RecordSet $rs

Per modificare i metadati del set di recordTo modify record set metadata

È possibile usare i metadati del set di record per associare dati specifici dell'applicazione a ogni set di record, sotto forma di coppie chiave-valore.Record set metadata can be used to associate application-specific data with each record set, as key-value pairs.

L'esempio seguente mostra come modificare i metadati di un set di record esistente:The following example shows how to modify the metadata of an existing record set:

# Get the record set
$rs = Get-AzureRmDnsRecordSet -Name www -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup"

# Add 'dept=finance' name-value pair
$rs.Metadata.Add('dept', 'finance') 

# Remove metadata item named 'environment'
$rs.Metadata.Remove('environment')  

# Commit changes
Set-AzureRmDnsRecordSet -RecordSet $rs

Eliminare un set di recordDelete a record set

È possibile eliminare i set di record usando il cmdlet Remove-AzureRmDnsRecordSet .Record sets can be deleted by using the Remove-AzureRmDnsRecordSet cmdlet. Eliminando un set di record vengono eliminati anche tutti i record in esso contenuti.Deleting a record set also deletes all records within the record set.

Nota

Non è possibile eliminare i set di record SOA e NS dal dominio radice della zona (-Name '@'). Tali set di record vengono creati automaticamente da DNS di Azure durante la creazione della zona e vengono eliminati automaticamente quando la zona viene eliminata.

L'esempio seguente mostra come eliminare un set di record.The following example shows how to delete a record set. In questo esempio il nome del set di record, il tipo di set di record, il nome della zona e il gruppo di risorse vengono specificati singolarmente in modo esplicito.In this example, the record set name, record set type, zone name, and resource group are each specified explicitly.

Remove-AzureRmDnsRecordSet -Name "www" -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup"

In alternativa è possibile specificare il set di record in base al nome e al tipo e specificare la zona con un oggetto:Alternatively, the record set can be specified by name and type, and the zone specified using an object:

$zone = Get-AzureRmDnsZone -Name "contoso.com" -ResourceGroupName "MyResourceGroup"
Remove-AzureRmDnsRecordSet -Name "www" -RecordType A -Zone $zone

Una terza soluzione consiste nello specificare lo stesso set di record usando un oggetto set di record:As a third option, the record set itself can be specified using a record set object:

$rs = Get-AzureRmDnsRecordSet -Name www -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup"
Remove-AzureRmDnsRecordSet -RecordSet $rs

Quando si specifica il set di record da eliminare usando un oggetto set di record, vengono usati i controlli ETag per fare in modo che le modifiche simultanee non vengano eliminate.When you specify the record set to be deleted by using a record set object, Etag checks are used to ensure concurrent changes are not deleted. È possibile usare l'opzione facoltativa -Overwrite per disattivare tali controlli.You can use the optional -Overwrite switch to suppress these checks.

L'oggetto del set di record può essere anche reindirizzato invece che passato come parametro:The record set object can also be piped instead of being passed as a parameter:

Get-AzureRmDnsRecordSet -Name www -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" | Remove-AzureRmDnsRecordSet

Richieste di confermaConfirmation prompts

I cmdlet New-AzureRmDnsRecordSet, Set-AzureRmDnsRecordSet e Remove-AzureRmDnsRecordSet supportano le richieste di conferma.The New-AzureRmDnsRecordSet, Set-AzureRmDnsRecordSet, and Remove-AzureRmDnsRecordSet cmdlets all support confirmation prompts.

Ogni cmdlet richiede una conferma se la variabile di preferenza PowerShell $ConfirmPreference ha un valore minore o uguale a Medium.Each cmdlet prompts for confirmation if the $ConfirmPreference PowerShell preference variable has a value of Medium or lower. Dato che il valore predefinito per $ConfirmPreference è High, non vengono restituite richieste se si usano le impostazioni predefinite di PowerShell.Since the default value for $ConfirmPreference is High, these prompts are not given when using the default PowerShell settings.

Per eseguire l'override dell'impostazione $ConfirmPreference corrente è possibile usare il parametro -Confirm.You can override the current $ConfirmPreference setting using the -Confirm parameter. Se si specifica -Confirm o -Confirm:$True, il cmdlet chiede conferma prima dell'esecuzione.If you specify -Confirm or -Confirm:$True , the cmdlet prompts you for confirmation before it runs. Se si specifica -Confirm:$False, il cmdlet non chiede alcuna conferma.If you specify -Confirm:$False , the cmdlet does not prompt you for confirmation.

Per altre informazioni su -Confirm e $ConfirmPreference, vedere About Preference Variables (Informazioni sulle variabili di preferenza).For more information about -Confirm and $ConfirmPreference, see About Preference Variables.

Passaggi successiviNext steps

Altre informazioni su zone e record nel servizio DNS di Azure.Learn more about zones and records in Azure DNS.
Informazioni su come proteggere zone e record quando si usa il servizio DNS di Azure.Learn how to protect your zones and records when using Azure DNS.
Vedere la documentazione di riferimento di PowerShell nel servizio DNS di Azure.Review the Azure DNS PowerShell reference documentation.