Gérer les enregistrements et jeux d’enregistrements DNS dans Azure DNS à l’aide d’Azure PowerShellManage DNS records and recordsets in Azure DNS using Azure PowerShell

Cet article explique comment gérer les enregistrements DNS pour votre zone DNS avec Azure PowerShell.This article shows you how to manage DNS records for your DNS zone by using Azure PowerShell. Vous pouvez également gérer les enregistrements DNS à l’aide de l’interface de ligne de commande Azure (Azure CLI) multiplateforme ou via le portail Azure.DNS records can also be managed by using the cross-platform Azure CLI or the Azure portal.

Les exemples de cet article supposent que vous avez déjà installé Azure PowerShell, ouvert une session et créé une zone DNS.The examples in this article assume you have already installed Azure PowerShell, signed in, and created a DNS zone.

Notes

Cet article a été mis à jour pour tenir compte de l’utilisation du nouveau module Az d’Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Vous pouvez toujours utiliser le module AzureRM, qui continue à recevoir des correctifs de bogues jusqu’à au moins décembre 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Pour en savoir plus sur le nouveau module Az et la compatibilité avec AzureRM, consultez Présentation du nouveau module Az d’Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Pour des instructions d’installation du module Az, consultez Installer Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

IntroductionIntroduction

Avant de créer des enregistrements DNS dans Azure DNS, vous devez comprendre comment Azure DNS organise les enregistrements DNS en jeux d’enregistrements DNS.Before creating DNS records in Azure DNS, you first need to understand how Azure DNS organizes DNS records into DNS record sets.

Noms d’enregistrementRecord names

Dans Azure DNS, les enregistrements sont spécifiés à l’aide de noms relatifs.In Azure DNS, records are specified by using relative names. Un nom de domaine complet (FQDN) inclut le nom de la zone, contrairement à un nom relatif.A fully qualified domain name (FQDN) includes the zone name, whereas a relative name does not. Par exemple, le nom d’enregistrement relatif « www » dans la zone « contoso.com » crée le nom d’enregistrement complet « 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 enregistrement apex est un enregistrement DNS à la racine (ou apex) d’une zone DNS.An apex record is a DNS record at the root (or apex) of a DNS zone. Par exemple, dans la zone DNS « contoso.com », un enregistrement apex porte également le nom complet « contoso.com » (on parle parfois de domaine nu).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). Par convention, le nom relatif « @ » est utilisé pour représenter des enregistrements apex.By convention, the relative name '@' is used to represent apex records.

Types d’enregistrementsRecord types

Chaque enregistrement DNS a un nom et un type.Each DNS record has a name and a type. Les enregistrements sont organisés selon différents types, en fonction des données qu’ils contiennent.Records are organized into various types according to the data they contain. Le type le plus courant est un enregistrement « A » qui mappe un nom à une adresse IPv4.The most common type is an 'A' record, which maps a name to an IPv4 address. Un autre type courant est un enregistrement « MX » qui mappe un nom à un serveur de messagerie.Another common type is an 'MX' record, which maps a name to a mail server.

Azure DNS prend en charge tous les types d’enregistrement DNS courants : A, AAAA, CAA, CNAME, MX, NS, PTR, SOA, SRV et TXT.Azure DNS supports all common DNS record types: A, AAAA, CAA, CNAME, MX, NS, PTR, SOA, SRV, and TXT. Notez que les enregistrements SPF sont représentés à l’aide d’enregistrements TXT.Note that SPF records are represented using TXT records.

Jeux d’enregistrementsRecord sets

Vous devez parfois créer plusieurs enregistrements DNS avec un nom et un type donnés.Sometimes you need to create more than one DNS record with a given name and type. Par exemple, supposons que le site web « www.contoso.com » est hébergé sur deux adresses IP différentes.For example, suppose the 'www.contoso.com' web site is hosted on two different IP addresses. Ce site web requiert deux enregistrements A différents, à savoir un pour chaque adresse IP.The website requires two different A records, one for each IP address. Voici un exemple de jeu d’enregistrements :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

Le DNS Azure gère l’ensemble des enregistrements DNS à l’aide de jeux d’enregistrements.Azure DNS manages all DNS records using record sets. Un jeu d’enregistrements (également appelé jeu d’enregistrements de ressource) est la collection d’enregistrements DNS dans une zone qui portent le même nom et sont du même type.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 plupart des jeux d’enregistrements contiennent un seul enregistrement.Most record sets contain a single record. Toutefois, les exemples comme celui ci-dessus, dans lequel un jeu d’enregistrements contient plusieurs enregistrements, sont relativement courants.However, examples like the one above, in which a record set contains more than one record, are not uncommon.

Par exemple, supposons que vous avez déjà créé un enregistrement A nommé « www » dans la zone « contoso.com », qui pointe vers l’adresse IP « 134.170.185.46 » (le premier enregistrement ci-dessus).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). Pour créer le deuxième enregistrement, vous devez l’ajouter au jeu d’enregistrements existant, au lieu de créer un autre jeu.To create the second record you would add that record to the existing record set, rather than create an additional record set.

Les types d’enregistrements SOA et CNAME font exception.The SOA and CNAME record types are exceptions. Comme les normes DNS n’autorisent pas que plusieurs enregistrements portent le même nom pour ces types, ces jeux d’enregistrements ne peuvent contenir qu’un seul enregistrement.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.

Pour plus d’informations sur les enregistrements DNS dans Azure DNS, voir Enregistrements et zones DNS.For more information about DNS records in Azure DNS, see DNS zones and records.

Créer un enregistrement DNSCreate a new DNS record

Si votre nouvel enregistrement porte le même nom et est du même type qu’un enregistrement existant, vous devez l’ajouter au jeu d’enregistrements existant.If your new record has the same name and type as an existing record, you need to add it to the existing record set. En revanche, si le nom et le type de votre nouvel enregistrement diffèrent de ceux de tous les enregistrements existants, vous devez créer un jeu d’enregistrements.If your new record has a different name and type to all existing records, you need to create a new record set.

Créer des enregistrements « A » dans un nouveau jeu d’enregistrementsCreate 'A' records in a new record set

Vous pouvez utiliser l’applet de commande New-AzDnsRecordSet pour créer des jeux d’enregistrements.You create record sets by using the New-AzDnsRecordSet cmdlet. Lors de la création d’un jeu d’enregistrements, vous devez en spécifier le nom, la zone et la durée de vie (TTL), ainsi que les enregistrements à créer et leur type.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.

Les paramètres pour ajouter des enregistrements à un jeu d'enregistrements varient selon le type de jeu d'enregistrements.The parameters for adding records to a record set vary depending on the type of the record set. Par exemple, si vous utilisez un jeu d’enregistrements de type « A », vous devez spécifier l’adresse IP à l’aide du paramètre -IPv4Address.For example, when using a record set of type 'A', you need to specify the IP address using the parameter -IPv4Address. D’autres paramètres sont utilisés pour d’autres types d’enregistrements.Other parameters are used for other record types. Pour plus d’informations, voir les autres exemples de types d’enregistrements.See Additional record type examples for details.

L’exemple suivant crée un jeu d’enregistrements avec le nom relatif « www » dans la zone DNS « contoso.com ».The following example creates a record set with the relative name 'www' in the DNS Zone 'contoso.com'. Le nom complet du jeu d’enregistrements est « www.contoso.com ».The fully-qualified name of the record set is 'www.contoso.com'. Le type d’enregistrement est « A » et la durée de vie est de 3 600 secondes.The record type is 'A', and the TTL is 3600 seconds. Le jeu d’enregistrements ne contient qu’un seul enregistrement, dont l’adresse IP est « 1.2.3.4 ».The record set contains a single record, with IP address '1.2.3.4'.

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

Pour créer un jeu d’enregistrements à l’apex (au sommet) d’une zone (en l’occurrence, « contoso.com »), utilisez le nom de jeu d’enregistrements « @ » (guillemets non compris) :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-AzDnsRecordSet -Name "@" -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzDnsRecordConfig -IPv4Address "1.2.3.4") 

Si vous devez créer un jeu d’enregistrements contenant plusieurs enregistrements, commencez par créer un groupe local, ajoutez les enregistrements, puis transmettez le groupe à New-AzDnsRecordSet comme suit :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-AzDnsRecordSet as follows:

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

Vous pouvez utiliser des métadonnées de jeu d’enregistrements pour associer les données spécifiques de l’application à chaque jeu d’enregistrements, comme paires clé-valeur.Record set metadata can be used to associate application-specific data with each record set, as key-value pairs. L’exemple suivant montre comment créer un jeu d’enregistrements avec deux entrées de métadonnées, « dept=finance » et « environment=production ».The following example shows how to create a record set with two metadata entries, 'dept=finance' and 'environment=production'.

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

Azure DNS prend également en charge les jeux d’enregistrements « vides », qui peuvent servir d’espaces réservés pour réserver un nom DNS avant de créer des enregistrements DNS.Azure DNS also supports 'empty' record sets, which can act as a placeholder to reserve a DNS name before creating DNS records. Les jeux d’enregistrements vides sont visibles dans le volet de contrôle d’Azure DNS, mais n’apparaissent pas sur les serveurs de noms Azure DNS.Empty record sets are visible in the Azure DNS control plane, but do appear on the Azure DNS name servers. L’exemple suivant crée un jeu d’enregistrements vide :The following example creates an empty record set:

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

Créer des enregistrements d’autres typesCreate records of other types

À présent que nous avons vu en détail comment créer des enregistrements de type « A », les exemples suivants montrent comment créer des enregistrements d’autres types pris en charge par Azure DNS.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.

Dans chaque cas, nous montrons comment créer un jeu d’enregistrements contenant un seul enregistrement.In each case, we show how to create a record set containing a single record. Vous pouvez adapter les exemples précédents pour les enregistrements de type « A » afin de créer des jeux d’enregistrements d’autres types contenant plusieurs enregistrements avec des métadonnées, ou des jeux d’enregistrements vides.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.

Nous ne donnons pas d’exemple de création de jeu d’enregistrements SOA (Architecture orientée services), car les enregistrements de ce type sont créés et supprimés avec chaque zone DNS, et ne peuvent pas l’être séparément.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. En revanche, vous pouvez modifier les enregistrements SOA en procédant de la manière décrite dans un exemple plus loin.However, the SOA can be modified, as shown in a later example.

Créer un jeu d’enregistrements AAAA avec un seul enregistrementCreate an AAAA record set with a single record

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

Créer un jeu d’enregistrements CAA avec un seul enregistrementCreate a CAA record set with a single record

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

Créer un jeu d’enregistrements CNAME avec un seul enregistrementCreate a CNAME record set with a single record

Notes

Les standards DNS n’autorisent pas la présence d’enregistrements CNAME ou de jeux d’enregistrements contenant plusieurs enregistrements à l’apex (sommet) d’une zone (-Name '@').The DNS standards do not permit CNAME records at the apex of a zone (-Name '@'), nor do they permit record sets containing more than one record.

Pour plus d’informations, voir Enregistrements CNAME.For more information, see CNAME records.

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

Créer un jeu d’enregistrements MX avec un seul enregistrementCreate an MX record set with a single record

Dans cet exemple, nous utilisons le nom de jeu d’enregistrements « @ » pour créer un enregistrement MX à l’apex de la zone (dans ce cas, « 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-AzDnsRecordSet -Name "@" -RecordType MX -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -Ttl 3600 -DnsRecords (New-AzDnsRecordConfig -Exchange "mail.contoso.com" -Preference 5) 

Créer un jeu d’enregistrements NS avec un seul enregistrementCreate an NS record set with a single record

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

Créer un jeu d’enregistrements PTR avec un seul enregistrementCreate a PTR record set with a single record

Dans ce cas, « my-arpa-zone.com » indique la zone ARPA de recherche inversée représentant votre plage d’adresses IP.In this case, 'my-arpa-zone.com' represents the ARPA reverse lookup zone representing your IP range. Chaque enregistrement PTR défini dans cette zone correspond à une adresse IP figurant dans cette plage d’adresses IP.Each PTR record set in this zone corresponds to an IP address within this IP range. Le nom d’enregistrement « 10 » est le dernier octet de l’adresse IP dans cette plage d’IP représentée par cet enregistrement.The record name '10' is the last octet of the IP address within this IP range represented by this record.

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

Créer un jeu d’enregistrements SRV avec un seul enregistrementCreate an SRV record set with a single record

Lorsque vous créez un jeu d’enregistrements SRV, spécifiez le _service et le _protocole dans le nom du jeu d’enregistrements.When creating an SRV record set, specify the _service and _protocol in the record set name. Il est inutile d’inclure « @ » dans le nom du jeu d’enregistrements lors de la création d’un enregistrement SRV défini à l’extrémité de la zone.There is no need to include '@' in the record set name when creating an SRV record set at the zone apex.

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

Créer un jeu d’enregistrements TXT avec un seul enregistrementCreate a TXT record set with a single record

L’exemple suivant montre comment créer un enregistrement TXT.The following example shows how to create a TXT record. Pour plus d’informations sur la longueur maximale de chaîne prise en charge dans les enregistrements TXT, voir Enregistrements TXT.For more information about the maximum string length supported in TXT records, see TXT records.

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

Obtention d’un jeu d'enregistrementsGet a record set

Pour récupérer un jeu d’enregistrements existant, utilisez Get-AzDnsRecordSet.To retrieve an existing record set, use Get-AzDnsRecordSet. Cette applet de commande renvoie un objet local représentant le jeu d’enregistrements dans Azure DNS.This cmdlet returns a local object that represents the record set in Azure DNS.

Comme avec l’applet de commande New-AzDnsRecordSet, le nom du jeu d’enregistrements doit être un nom relatif, c’est-à-dire qu’il ne doit pas contenir le nom de la zone.As with New-AzDnsRecordSet, the record set name given must be a relative name, meaning it must exclude the zone name. Vous devez également spécifier le type d’enregistrement et la zone contenant le jeu d’enregistrements.You also need to specify the record type, and the zone containing the record set.

L’exemple suivant montre comment récupérer un jeu d’enregistrements.The following example shows how to retrieve a record set. Dans cet exemple, la zone est spécifiée à l’aide des paramètres -ZoneName et -ResourceGroupName.In this example, the zone is specified using the -ZoneName and -ResourceGroupName parameters.

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

Vous pouvez également spécifier la zone à l’aide d’un objet zone, transmis en utilisant le -Zone paramètre.Alternatively, you can also specify the zone using a zone object, passed using the -Zone parameter.

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

Liste des jeux d'enregistrementsList record sets

Vous pouvez également utiliser l’applet de commande Get-AzDnsZone pour répertorier les jeux d’enregistrements présents dans une zone, en omettant les paramètres -Name et/ou -RecordType.You can also use Get-AzDnsZone to list record sets in a zone, by omitting the -Name and/or -RecordType parameters.

L’exemple suivant retourne tous les jeux d’enregistrements présents dans la zone :The following example returns all record sets in the zone:

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

L’exemple suivant montre comment récupérer tous les jeux d’enregistrements d’un type donné en spécifiant le type d’enregistrement, mais en omettant le nom du jeu d’enregistrements :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-AzDnsRecordSet -RecordType A -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup"

Pour récupérer parmi les types d’enregistrements tous les jeux d’enregistrements portant un nom spécifique, vous devez récupérer tous les jeux d’enregistrements, puis filtrer les résultats :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-AzDnsRecordSet -ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" | where {$_.Name.Equals("www")}

Dans tous les exemples ci-dessus, vous pouvez spécifier la zone à l’aide des paramètres -ZoneName et -ResourceGroupName (comme indiqué), ou en spécifiant un objet zone :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-AzDnsZone -Name "contoso.com" -ResourceGroupName "MyResourceGroup"
$recordsets = Get-AzDnsRecordSet -Zone $zone

Ajouter un enregistrement à un jeu d’enregistrements existantAdd a record to an existing record set

Pour ajouter un enregistrement à un jeu d’enregistrements existant, suivez les trois étapes suivantes :To add a record to an existing record set, follow the following three steps:

  1. Obtenez le jeu d’enregistrements existantGet the existing record set

    $rs = Get-AzDnsRecordSet -Name www –ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -RecordType A
    
  2. Ajoutez le nouvel enregistrement au jeu d’enregistrements local.Add the new record to the local record set. Cette opération se fait hors connexion.This is an off-line operation.

    Add-AzDnsRecordConfig -RecordSet $rs -Ipv4Address "5.6.7.8"
    
  3. Validez la modification sur le service Azure DNS.Commit the change back to the Azure DNS service.

    Set-AzDnsRecordSet -RecordSet $rs
    

L’applet de commande Set-AzDnsRecordSet remplace le jeu d’enregistrements existant dans Azure DNS (et tous les enregistrements qu’il contient) par le jeu d’enregistrements spécifié.Using Set-AzDnsRecordSet replaces the existing record set in Azure DNS (and all records it contains) with the record set specified. Des vérifications ETag permettent d’éviter les conflits de modifications simultanées.Etag checks are used to ensure concurrent changes are not overwritten. Le commutateur facultatif -Overwrite permet de supprimer ces vérifications.You can use the optional -Overwrite switch to suppress these checks.

Vous pouvez également canaliser cette séquence d’opérations, c’est-à-dire transmettre l’objet jeu d’enregistrements en utilisant le canal plutôt qu’en le transmettant en tant que paramètre :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-AzDnsRecordSet -Name "www" –ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -RecordType A | Add-AzDnsRecordConfig -Ipv4Address "5.6.7.8" | Set-AzDnsRecordSet

Les exemples ci-dessus montrent comment ajouter un enregistrement « A » à un jeu existant d’enregistrements de type « A ».The examples above show how to add an 'A' record to an existing record set of type 'A'. Une séquence similaire d’opérations est utilisée pour ajouter des enregistrements à des jeux d’enregistrements d’autres types, en remplaçant le paramètre -Ipv4Address de l’applet de commande Add-AzDnsRecordConfig par d’autres paramètres spécifiques de chaque type d’enregistrement.A similar sequence of operations is used to add records to record sets of other types, substituting the -Ipv4Address parameter of Add-AzDnsRecordConfig with other parameters specific to each record type. Les paramètres pour chaque type d’enregistrement sont identiques à ceux de l’applet de commande New-AzDnsRecordConfig, comme indiqué dans les autres exemples de types d’enregistrements ci-dessus.The parameters for each record type are the same as for the New-AzDnsRecordConfig cmdlet, as shown in Additional record type examples above.

Les jeux d’enregistrements de type « CNAME » ou « SOA » ne peuvent pas contenir plusieurs enregistrements.Record sets of type 'CNAME' or 'SOA' cannot contain more than one record. Cette contrainte résulte des normes DNS.This constraint arises from the DNS standards. Il ne s’agit pas d’une limitation d’Azure DNS.It is not a limitation of Azure DNS.

Suppression d’un enregistrement d’un jeu d'enregistrements existantRemove a record from an existing record set

Le processus de suppression d’un enregistrement d’un jeu d’enregistrements est similaire au processus d’ajout d’un enregistrement à un jeu d’enregistrements existant :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. Obtenez le jeu d’enregistrements existantGet the existing record set

    $rs = Get-AzDnsRecordSet -Name www –ZoneName "contoso.com" -ResourceGroupName "MyResourceGroup" -RecordType A
    
  2. Supprimez l’enregistrement de l’objet jeu d’enregistrements local.Remove the record from the local record set object. Cette opération se fait hors connexion.This is an off-line operation. L’enregistrement à supprimer doit correspondre exactement à un enregistrement existant relativement à tous les paramètres.The record that's being removed must be an exact match with an existing record across all parameters.

    Remove-AzDnsRecordConfig -RecordSet $rs -Ipv4Address "5.6.7.8"
    
  3. Validez la modification sur le service Azure DNS.Commit the change back to the Azure DNS service. Utilisez le commutateur facultatif -Overwrite pour désactiver les vérifications ETag des modifications simultanées.Use the optional -Overwrite switch to suppress Etag checks for concurrent changes.

    Set-AzDnsRecordSet -RecordSet $Rs
    

La séquence utilisée ci-dessus pour supprimer le dernier enregistrement d’un jeu d’enregistrements n’a pas pour effet de supprimer celui-ci, mais de le laisser vide.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. Pour supprimer entièrement un jeu d’enregistrements, voir Supprimer un jeu d’enregistrements.To remove a record set entirely, see Delete a record set.

Comme pour l’ajout d’enregistrements à un jeu d’enregistrements, vous pouvez canaliser la séquence des opérations de suppression d’un jeu d’enregistrements comme suit :Similarly to adding records to a record set, the sequence of operations to remove a record set can also be piped:

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

Différents types d’enregistrements sont pris en charge en transmettant les paramètres spécifiques du type approprié à Remove-AzDnsRecordSet.Different record types are supported by passing the appropriate type-specific parameters to Remove-AzDnsRecordSet. Les paramètres pour chaque type d’enregistrement sont identiques à ceux de l’applet de commande New-AzDnsRecordConfig, comme indiqué dans les autres exemples de types d’enregistrements ci-dessus.The parameters for each record type are the same as for the New-AzDnsRecordConfig cmdlet, as shown in Additional record type examples above.

Modifier un jeu d’enregistrementsModify an existing record set

Pour modifier un jeu d’enregistrements, procédez de la même manière que pour y ajouter ou en supprimer des enregistrements :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. Récupérez le jeu d’enregistrements existant en utilisant Get-AzDnsRecordSet.Retrieve the existing record set by using Get-AzDnsRecordSet.
  2. Modifiez l’objet jeu d’enregistrements local à l’aide des opérations suivantes :Modify the local record set object by:
    • ajout ou suppression d’enregistrements ;Adding or removing records
    • modification des paramètres d’enregistrements existants ;Changing the parameters of existing records
    • modification des métadonnées et de la durée de vie (TTL) du jeu d’enregistrements.Changing the record set metadata and time to live (TTL)
  3. Validez vos modifications en utilisant l’applet de commande Set-AzDnsRecordSet .Commit your changes by using the Set-AzDnsRecordSet cmdlet. Celle-ci remplace le jeu d’enregistrement existant dans Azure DNS par le jeu d’enregistrements spécifié.This replaces the existing record set in Azure DNS with the record set specified.

Lorsque vous utilisez l’applet de commande Set-AzDnsRecordSet, des vérifications ETag permettent d’éviter les conflits de modifications simultanées.When using Set-AzDnsRecordSet, Etag checks are used to ensure concurrent changes are not overwritten. Le commutateur facultatif -Overwrite permet de supprimer ces vérifications.You can use the optional -Overwrite switch to suppress these checks.

Pour mettre à jour un enregistrement dans un jeu d’enregistrements existantTo update a record in an existing record set

Dans cet exemple, nous modifions l’adresse IP d’un enregistrement « A » existant :In this example, we change the IP address of an existing 'A' record:

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

Pour modifier un enregistrement SOATo modify an SOA record

Vous ne pouvez pas ajouter ou supprimer d’enregistrements dans le jeu d’enregistrements SOA créé automatiquement à l’apex de la zone (-Name "@", guillemets compris).You cannot add or remove records from the automatically created SOA record set at the zone apex (-Name "@", including quote marks). Vous pouvez cependant modifier les paramètres dans l’enregistrement SOA (à l’exception de « l’hôte ») et pendant la durée de vie du jeu d’enregistrements.However, you can modify any of the parameters within the SOA record (except "Host") and the record set TTL.

L’exemple suivant montre comment modifier la propriété Email de l’enregistrement SOA :The following example shows how to change the Email property of the SOA record:

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

Pour modifier des enregistrements NS à l’apex de la zoneTo modify NS records at the zone apex

Le jeu d’enregistrements NS à l’apex de la zone est créé automatiquement avec chaque zone DNS.The NS record set at the zone apex is automatically created with each DNS zone. Il contient les noms des serveurs de noms Azure DNS attribués à la zone.It contains the names of the Azure DNS name servers assigned to the zone.

Vous pouvez ajouter des serveurs de noms supplémentaires à ce jeu d’enregistrements NS, pour prendre en charge le co-hébergement de domaines avec plusieurs fournisseurs DNS.You can add additional name servers to this NS record set, to support co-hosting domains with more than one DNS provider. Vous pouvez également modifier la durée de vie et les métadonnées pour ce jeu d’enregistrements.You can also modify the TTL and metadata for this record set. Toutefois, vous ne pouvez pas supprimer ni modifier les serveurs de noms Azure DNS préremplis.However, you cannot remove or modify the pre-populated Azure DNS name servers.

Notez que cela s’applique uniquement au jeu d’enregistrements NS défini à l’apex de la zone.Note that this applies only to the NS record set at the zone apex. Les autres jeux d’enregistrements NS dans votre zone (tels que ceux utilisés pour déléguer des zones enfants) peuvent être modifiés sans contrainte.Other NS record sets in your zone (as used to delegate child zones) can be modified without constraint.

L’exemple suivant montre comment ajouter un serveur de noms supplémentaire au jeu d’enregistrements NS défini à l’apex de la zone :The following example shows how to add an additional name server to the NS record set at the zone apex:

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

Pour modifier les métadonnées du jeu d’enregistrementsTo modify record set metadata

Vous pouvez utiliser des métadonnées de jeu d’enregistrements pour associer les données spécifiques de l’application à chaque jeu d’enregistrements, comme paires clé-valeur.Record set metadata can be used to associate application-specific data with each record set, as key-value pairs.

L’exemple suivant montre comment modifier les métadonnées d’un jeu d’enregistrements :The following example shows how to modify the metadata of an existing record set:

# Get the record set
$rs = Get-AzDnsRecordSet -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-AzDnsRecordSet -RecordSet $rs

Supprimer un jeu d’enregistrementsDelete a record set

Les jeux d’enregistrements peuvent être supprimés à l’aide de l’applet de commande Remove-AzDnsRecordSet .Record sets can be deleted by using the Remove-AzDnsRecordSet cmdlet. La suppression d’un jeu d’enregistrements a pour effet de supprimer également tous les enregistrements qu’il contient.Deleting a record set also deletes all records within the record set.

Notes

Vous ne pouvez pas supprimer de jeux d’enregistrements SOA et NS au niveau de l’apex de la zone (-Name '@').You cannot delete the SOA and NS record sets at the zone apex (-Name '@'). Azure DNS les crée automatiquement lors de la création de la zone, et les supprime automatiquement lors de la suppression de celle-ci.Azure DNS created these automatically when the zone was created, and deletes them automatically when the zone is deleted.

L’exemple suivant montre comment supprimer un jeu d’enregistrements.The following example shows how to delete a record set. Dans cet exemple, le nom, le type, la zone et le groupe de ressources du jeu d’enregistrements sont spécifiés explicitement.In this example, the record set name, record set type, zone name, and resource group are each specified explicitly.

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

Vous pouvez également spécifier le jeu d’enregistrements par un nom et un type, et la zone à l’aide d’un objet :Alternatively, the record set can be specified by name and type, and the zone specified using an object:

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

Une troisième option consiste à spécifier le jeu d’enregistrements en utilisant un objet jeu d’enregistrements :As a third option, the record set itself can be specified using a record set object:

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

Lorsque vous spécifiez le jeu d’enregistrements à supprimer à l’aide d’un objet jeu d’enregistrements, des vérifications ETag veillent à ce que des modifications simultanées ne soient pas supprimées.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. Le commutateur facultatif -Overwrite permet de supprimer ces vérifications.You can use the optional -Overwrite switch to suppress these checks.

L'objet du jeu d'enregistrements peut également être envoyé au lieu d’être transmis en tant que paramètre :The record set object can also be piped instead of being passed as a parameter:

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

Invites de confirmationConfirmation prompts

Les applets de commande New-AzDnsRecordSet, Set-AzDnsRecordSet et Remove-AzDnsRecordSet prennent en charge les invites de confirmation.The New-AzDnsRecordSet, Set-AzDnsRecordSet, and Remove-AzDnsRecordSet cmdlets all support confirmation prompts.

Chaque applet de commande demande une confirmation si la variable de préférence PowerShell $ConfirmPreference a la valeur Medium ou une valeur inférieure.Each cmdlet prompts for confirmation if the $ConfirmPreference PowerShell preference variable has a value of Medium or lower. La valeur par défaut de la variable $ConfirmPreference étant High, ces invites ne s’affichent pas en cas d’utilisation des paramètres PowerShell par défaut.Since the default value for $ConfirmPreference is High, these prompts are not given when using the default PowerShell settings.

Vous pouvez remplacer le paramétrage actuel de $ConfirmPreference par le paramètre -Confirm.You can override the current $ConfirmPreference setting using the -Confirm parameter. Si vous spécifiez les paramètres -Confirm ou -Confirm:$True, les applets de commande vous invitent à confirmer l’exécution.If you specify -Confirm or -Confirm:$True , the cmdlet prompts you for confirmation before it runs. Si vous spécifiez le paramètre -Confirm:$False, l’applet de commande ne demande pas de confirmation.If you specify -Confirm:$False , the cmdlet does not prompt you for confirmation.

Pour plus d’informations sur les paramètres -Confirm et $ConfirmPreference, voir À propos des variables de préférence.For more information about -Confirm and $ConfirmPreference, see About Preference Variables.

Étapes suivantesNext steps

Apprenez-en davantage sur les zones et enregistrements dans Azure DNS.Learn more about zones and records in Azure DNS.
Découvrez comment protéger vos zones et enregistrements lors de l’utilisation d’Azure DNS.Learn how to protect your zones and records when using Azure DNS.
Examinez la documentation de référence d’Azure DNS PowerShell.Review the Azure DNS PowerShell reference documentation.