Import-ExchangeCertificate

La cmdlet est disponible uniquement dans Exchange en local.

Utilisez l’applet de commande Import-ExchangeCertificate pour importer des certificats sur des serveurs Exchange. Vous utilisez cette cmdlet pour installer des certificats qui ont été exportés à partir d’autres serveurs et pour terminer des demandes de certification en attente (également appelées demandes de signature de certificat) d’autorités de certification.

Pour plus d’informations sur les jeux de paramètres dans la section Syntaxe ci-après, voir Syntaxe da la cmdlet Exchange.

Syntax

Import-ExchangeCertificate
      -FileData <Byte[]>
      [-Confirm]
      [-DomainController <Fqdn>]
      [-FriendlyName <String>]
      [-Password <SecureString>]
      [-PrivateKeyExportable <Boolean>]
      [-Server <ServerIdParameter>]
      [-WhatIf]
      [<CommonParameters>]
Import-ExchangeCertificate
      -Instance <String[]>
      [-Confirm]
      [-DomainController <Fqdn>]
      [-FriendlyName <String>]
      [-Password <SecureString>]
      [-PrivateKeyExportable <Boolean>]
      [-Server <ServerIdParameter>]
      [-WhatIf]
      [<CommonParameters>]
Import-ExchangeCertificate
      -FileName <String>
      [-Confirm]
      [-DomainController <Fqdn>]
      [-FriendlyName <String>]
      [-Password <SecureString>]
      [-PrivateKeyExportable <Boolean>]
      [-Server <ServerIdParameter>]
      [-WhatIf]
      [<CommonParameters>]

Description

Vous pouvez utiliser l’applet de commande Import-ExchangeCertificate pour importer les types de fichiers de certificat suivants sur un serveur Exchange :

  • Un fichier de certificat ou de chaîne de certificats PKCS #7 (.p7b ou .p7c) qui a été émis par une autorité de certification. PKCS #7 (standard de syntaxe de message de chiffrement) est une syntaxe utilisée pour les signatures numériques ou le chiffrement des données à l’aide de la cryptographie de clé publique, y compris le chiffrement des certificats. Pour plus d’informations, consultez Concepts de la syntaxe de messagerie de chiffrement PKCS #7.
  • Un fichier de certificat PKCS #12 (.cer, .crt, .der, .p12 ou .pfx) qui contient la clé privée. PKCS #12 (standard de syntaxe d’échange d’informations personnelles) est un format de fichier utilisé pour stocker des certificats avec les clés privées correspondantes protégées par un mot de passe. Pour plus d’informations, consultez PKCS #12 : Syntaxe d’échange d’informations personnelles v1.1.

Après avoir importé un certificat sur un serveur Exchange, vous devez attribuer le certificat à un ou plusieurs services Exchange à l’aide de l’applet de commande Enable-ExchangeCertificate.

De nombreux facteurs sont à prendre en considération lorsque vous configurez des certificats pour les services TLS (Transport Layer Security) et SSL (Secure Sockets Layer). Vous devez avoir compris la manière dont ces facteurs peuvent affecter votre configuration globale. Pour plus d’informations, consultez Certificats numériques et chiffrement dans Exchange Server.

Le protocole SSL (Secure Sockets Layer) est remplacé par le protocole TLS (Transport Layer Security) comme protocole utilisé pour chiffrer les données envoyées entre des systèmes informatiques. Ils sont si étroitement liés que les termes « SSL » et « TLS » (sans versions) sont souvent utilisés indifféremment. En raison de cette similarité, les références à « SSL » dans les rubriques Exchange, le centre d’administration Exchange et l’environnement de ligne de commande Exchange Management Shell ont souvent été utilisés pour englober à la fois les protocoles SSL et TLS. En règle générale, « SSL » fait référence au véritable protocole SSL uniquement lorsqu’une version est également fournie (par exemple, SSL 3.0). Pour plus d’informations, consultez Exchange Server bonnes pratiques en matière de configuration TLS.

Des autorisations doivent vous être attribuées avant de pouvoir exécuter cette cmdlet. Bien que cette rubrique répertorie tous les paramètres de cette cmdlet, il est possible que vous n’ayez pas accès à certains paramètres s’ils ne sont pas inclus dans les autorisations qui vous ont été attribuées. Pour rechercher les autorisations requises pour exécuter une cmdlet ou un paramètre dans votre organisation, voir Find the permissions required to run any Exchange cmdlet.

Exemples

Exemple 1

Import-ExchangeCertificate -Server Mailbox01 -FileName "\\FileServer01\Data\Exported Fabrikam Cert.pfx" -Password (Get-Credential).password

Dans Exchange 2013, cet exemple importe le certificat du fichier PKCS #12 de \\FileServer01\Data\Exported Fabrikam Cert.pfx vers le serveur Exchange nommé Mailbox01. Ce fichier nécessite le mot de passe du fichier. Ce certificat peut avoir été exporté à partir d’un autre serveur ou émis par une autorité de certification.

Pour exporter le certificat dans Exchange 2016 ou Exchange 2019, utilisez le paramètre FileData comme décrit dans l’exemple 2.

Exemple 2

Import-ExchangeCertificate -Server Mailbox01 -FileData ([System.IO.File]::ReadAllBytes('\\FileServer01\Data\Exported Fabrikam Cert.pfx')) -Password (Get-Credential).password

Cet exemple importe le même fichier de certificat à partir de l’exemple 1. Cette méthode est requise dans Exchange 2016 et Exchange 2019, car le paramètre FileName n’est pas disponible.

Exemple 3

Import-ExchangeCertificate -FileData ([System.IO.File]::ReadAllBytes('C:\Certificates\Fabrikam IssuedCert.p7b'))

Cet exemple importe une chaîne de certificats à partir du fichier PKCS #7 C:\Certificates\Fabrikam IssuedCert.p7b sur le serveur Exchange local.

Paramètres

-Confirm

Le commutateur Confirme spécifie s’il faut afficher ou masquer l’invite de confirmation. L’incidence de ce commutateur sur la cmdlet varie selon que la cmdlet requiert une confirmation avant de poursuivre.

  • Les applets de commande destructrices (par exemple, les applets de commande Remove-*) ont une pause intégrée qui vous oblige à accuser réception de la commande avant de continuer. Pour ces cmdlets, vous pouvez ignorer l’invite de confirmation à l’aide de cette syntaxe exacte : -Confirm:$false.
  • La plupart des autres applets de commande (par exemple, les applets de commande New-* et Set-*) n’ont pas de pause intégrée. Pour ces cmdlets, la spécification du commutateur Confirm sans valeur introduit une pause qui vous oblige à confirmer la commande avant de poursuivre.
Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-DomainController

Le paramètre DomainController spécifie le contrôleur de domaine qui est utilisé par cette cmdlet pour lire ou écrire les données dans Active Directory. Vous identifiez le contrôleur de domaine par son nom de domaine complet (FQDN). Par exemple : « dc01.contoso.com ».

Les serveurs de transport Edge ne prennent pas en charge le paramètre DomainController. Un serveur de transport Edge utilise l’instance locale des services AD LDS (Active Directory Lightweight Directory Services) pour lire et écrire des données.

Type:Fqdn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-FileData

Le paramètre FileData spécifie le contenu du fichier de certificat que vous souhaitez importer.

Une valeur valide pour ce paramètre vous oblige à lire le fichier dans un objet codé en octets à l’aide de la syntaxe suivante : ([System.IO.File]::ReadAllBytes('<Path>\<FileName>')). Vous pouvez utiliser cette commande comme valeur de paramètre, ou vous pouvez écrire la sortie dans une variable ($data = [System.IO.File]::ReadAllBytes('<Path>\<FileName>')) et utiliser la variable comme valeur de paramètre ($data).

Vous pouvez utiliser un chemin d’accès local si le fichier de certificat se trouve sur le serveur Exchange sur lequel vous exécutez la commande, et s’il s’agit du même serveur que celui où vous souhaitez installer le certificat. Sinon, utilisez un chemin UNC (\\Server\Share).

Lorsque vous utilisez ce paramètre pour importer des fichiers de certificat texte PKCS #7, ces fichiers contiennent : -----BEGIN CERTIFICATE----- et -----END CERTIFICATE----- ou -----BEGIN PKCS7----- et -----END PKCS7----- et ont des extensions de nom de fichier .p7b ou .p7c.

Si la valeur contient des espaces, placez-la entre guillemets (").

Type:Byte[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-FileName

Remarque : Ce paramètre a été supprimé d’Exchange 2016 et Exchange 2019 par la Mises à jour cumulative H1 2022, car il accepte les valeurs de chemin UNC. Pour importer un fichier de certificat sans utiliser le paramètre FileName, utilisez le paramètre FileData.

Ce paramètre est disponible uniquement dans Exchange 2013.

Le paramètre FileName spécifie le fichier de certificat que vous souhaitez importer. En règle générale, vous utilisez ce paramètre pour les fichiers de certificat binaires PKCS #12 dont les extensions de nom de fichier sont .cer, .crt, .der, .p12, ou .pfx. Ce type de fichier de certificat binaire est protégé par un mot de passe lorsque le fichier contient la clé privée ou la chaîne d’approbation.

Vous pouvez utiliser un chemin d’accès local si le fichier de certificat se trouve sur le serveur Exchange sur lequel vous exécutez la commande, et s’il s’agit du même serveur que celui où vous souhaitez installer le certificat. Sinon, utilisez un chemin UNC (\\Server\Share).

Si la valeur contient des espaces, placez-la entre guillemets (").

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013

-FriendlyName

Le paramètre FriendlyName spécifie un nom convivial pour le certificat. La valeur doit compter moins de 64 caractères.

La valeur de nom convivial est un texte descriptif et n’affecte pas les fonctionnalités du certificat.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Instance

Ce paramètre est obsolète et inutilisé.

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Password

Le paramètre Password spécifie le mot de passe requis pour importer le certificat.

Vous pouvez utiliser les méthodes suivantes comme valeur pour ce paramètre :

  • (ConvertTo-SecureString -String '<password>' -AsPlainText -Force).
  • Avant d’exécuter cette commande, stockez le mot de passe en tant que variable (par exemple, $password = Read-Host "Enter password" -AsSecureString), puis utilisez la variable ($password) pour la valeur.
  • (Get-Credential).password pour être invité à entrer le mot de passe en toute sécurité lorsque vous exécutez cette commande.
Type:SecureString
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-PrivateKeyExportable

Le paramètre PrivateKeyExportable spécifie si le certificat dispose d’une clé privée exportable et contrôle si vous pouvez exporter le certificat à partir de ce serveur. Les valeurs valides sont les suivantes :

  • $true : la clé privée étant exportable, vous pouvez exporter le certificat à partir de ce serveur.
  • $false : la clé privée n’est pas exportable. Vous ne pouvez donc pas exporter le certificat à partir de ce serveur. Il s’agit de la valeur par défaut.
Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Server

Le paramètre Server définit le serveur Exchange sur lequel vous souhaitez exécuter cette commande. Vous pouvez utiliser n’importe quelle valeur qui identifie uniquement le serveur. Par exemple :

  • Nom
  • FQDN
  • Nom unique
  • DN Exchange hérité

DN Exchange hérité

Type:ServerIdParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-WhatIf

Le commutateur WhatIf simule les actions de la commande. Vous pouvez utiliser ce commutateur pour afficher les modifications qui se produiraient sans réellement appliquer ces modifications. Il n’est pas nécessaire de spécifier une valeur pour ce commutateur.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

Entrées

Input types

Pour visualiser les types d'entrées acceptés par cette cmdlet, consultez la rubrique Types d'entrée et de sortie de la cmdlet d'Exchange Management Shell. Si le champ Type d'entrée pour une cmdlet est vide, la cmdlet n'accepte pas les données d'entrée.

Sorties

Output types

Pour visualiser les types de retours, également appelés types de sorties, acceptés par cette cmdlet, consultez la rubrique Types d'entrée et de sortie de la cmdlet d'Exchange Management Shell. Si le champ Type de sortie est vide, la cmdlet ne renvoie pas de données.