Export-ExchangeCertificate

La cmdlet est disponible uniquement dans Exchange en local.

Utilisez l’applet de commande Export-ExchangeCertificate pour exporter des certificats existants et des demandes de certificat en attente (également appelées demandes de signature de certificat ou CSR) à partir de serveurs Exchange.

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

Syntax

Export-ExchangeCertificate
      [-Thumbprint] <String>
      [-Server <ServerIdParameter>]
      [-BinaryEncoded]
      [-Confirm]
      [-DomainController <Fqdn>]
      [-FileName <String>]
      [-Password <SecureString>]
      [-WhatIf]
      [<CommonParameters>]
Export-ExchangeCertificate
      [[-Identity] <ExchangeCertificateIdParameter>]
      [-BinaryEncoded]
      [-Confirm]
      [-DomainController <Fqdn>]
      [-FileName <String>]
      [-Password <SecureString>]
      [-WhatIf]
      [<CommonParameters>]

Description

La cmdlet Export-ExchangeCertificate crée les types de fichiers suivants :

  • Fichiers de certificat : lorsque vous exportez un certificat, la commande crée un fichier PKCS #12. PKCS #12 est la norme de syntaxe Exchange d’informations personnelles spécifiée par RSA Laboratories. Pour plus d’informations, consultez PKCS #12 : Syntaxe d’échange d’informations personnelles standard.

    Pour exporter un certificat à partir d’un serveur Exchange, la propriété PrivateKeyExportable du certificat doit avoir la valeur True. Pour importer un certificat exporté sur un autre serveur Exchange, vous devez exporter le certificat à l’aide du paramètre Password afin d’inclure la clé privée ou la chaîne d’approbation dans le fichier de certificat. La valeur par défaut Microsoft certificat auto-signé Exchange ou les nouveaux certificats auto-signés que vous créez dans le Centre d’administration Exchange ou à l’aide des paramètres par défaut de l’applet de commande New-ExchangeCertificate ne sont pas exportables, car la clé privée n’est pas exportable (la valeur par défaut du paramètre PrivateKeyExportable est $false).

  • Fichiers de demande de certificat : lorsque vous exportez une demande de certificat, la commande crée un fichier PKCS #10. PKCS #10 est la norme de syntaxe de demande de certification spécifiée par RFC 2314. Pour plus d’informations, consultez PKCS #10 : Syntaxe de demande de certification.

    En règle générale, vous exportez un fichier de demande de certificat si vous devez renvoyer la demande de certificat à l’autorité de certification. Vous ne pouvez pas importer une demande de certificat exportée sur un autre serveur.

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

Export-ExchangeCertificate -Thumbprint 5113ae0233a72fccb75b1d0198628675333d010e -FileName "C:\Data\HT cert.pfx" -BinaryEncoded -Password (Get-Credential).password

Dans Exchange 2013, cet exemple exporte un certificat du serveur Exchange local vers un fichier avec les paramètres suivants :

  • Le certificat à exporter a la valeur d’empreinte numérique 5113ae0233a72fccb75b1d0198628675333d010e.
  • Le fichier de certificat exporté est encodé en DER (binaire), et non en Base64.
  • Entrez le mot de passe lorsque vous y êtes invité.
  • Le certificat est exporté vers le fichier C:\Data\HT cert.pfx.

Remarque : Le paramètre FileName est disponible uniquement dans Exchange 2013. Pour exporter le certificat dans Exchange 2016 ou Exchange 2019, consultez l’exemple 2.

Exemple 2

$bincert = Export-ExchangeCertificate -Thumbprint 5113ae0233a72fccb75b1d0198628675333d010e -BinaryEncoded -Password (Get-Credential).password

[System.IO.File]::WriteAllBytes('C:\Data\HT cert.pfx', $bincert.FileData)

Cet exemple exporte le même 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

Export-ExchangeCertificate -Thumbprint 72570529B260E556349F3403F5CF5819D19B3B58 -Server Mailbox01 -FileName "\\FileServer01\Data\Fabrikam.req"

Dans Exchange 2013, cet exemple exporte une demande de certificat en attente vers un fichier avec les paramètres suivants :

  • La demande de certificat à exporter a la valeur d’empreinte numérique 72570529B260E556349F3403F5CF5819D19B3B58 et se trouve sur le serveur Exchange nommé Mailbox01.
  • Le fichier de demande de certificat exporté est encodé en base 64. Ainsi, les informations écrites dans le fichier sont également affichées à l’écran.
  • La demande de certificat est exportée vers le fichier \\FileServer01\Data\Fabrikam.req.

Remarque : Le paramètre FileName est disponible uniquement dans Exchange 2013. Pour exporter la demande de certificat en attente dans Exchange 2016 ou Exchange 2019, consultez l’exemple 4.

Exemple 4

$txtcert = Export-ExchangeCertificate -Thumbprint 72570529B260E556349F3403F5CF5819D19B3B58 -Server Mailbox01

[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Fabrikam.req', [System.Text.Encoding]::Unicode.GetBytes($txtcert))

Cet exemple exporte la même demande de certificat en attente à partir de l’exemple 3. Cette méthode est requise dans Exchange 2016 et Exchange 2019, car le paramètre FileName n’est pas disponible.

Paramètres

-BinaryEncoded

Le commutateur BinaryEncoded code le fichier de certificat exporté ou le fichier de demande de certificat à l’aide des DER (Distinguished Encoding Rules). Il n’est pas nécessaire de spécifier une valeur pour ce commutateur.

En règle générale, vous utilisez ce commutateur lorsque vous exportez un certificat, car vous pouvez stocker le certificat et sa clé privée ou sa chaîne d’approbation dans un fichier binaire unique lorsque vous utilisez également le paramètre Password. Si vous n’utilisez pas ce commutateur, le fichier de certificat exporté est codé au format Base64, et vous devez exporter les certificats racines ou intermédiaires dans la chaîne d’approbation séparément.

Type:SwitchParameter
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

-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

-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 exporter le certificat ou la demande de certificat vers un fichier sans utiliser le paramètre FileName, utilisez les méthodes décrites dans les exemples 2 et 4.

Ce paramètre est disponible uniquement dans Exchange 2013.

Le paramètre FileName spécifie le nom et le chemin d’accès du fichier de certificat exporté ou du fichier de demande de certificat. Vous pouvez utiliser un chemin d’accès local si le certificat ou la demande de certificat se trouve sur le serveur Exchange où vous exécutez la commande. 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:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013

-Identity

Le paramètre Identity spécifie le certificat ou la demande de certificat à exporter. Les valeurs valides sont les suivantes :

  • ServerNameOrFQDN\Thumbprint
  • Thumbprint

Vous pouvez rechercher la valeur d’empreinte numérique à l’aide de la cmdlet Get-ExchangeCertificate.

Vous ne pouvez pas utiliser ce paramètre avec le paramètre Server.

Le paramètre Thumbprint, et non le paramètre Identity, est le paramètre de position de cette cmdlet. Par conséquent, lorsque vous spécifiez une valeur d’empreinte de manière isolée, la commande utilise cette valeur pour le paramètre Thumbprint.

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

-Password

Le paramètre Password spécifie le mot de passe pour la clé privée ou la chaîne d’approbation dans le fichier de certificat exporté. Pour importer le fichier de certificat exporté sur un autre serveur, vous devez connaître le mot de passe.

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

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

Vous ne pouvez pas utiliser ce paramètre avec le paramètre Identity, mais vous pouvez l’utiliser avec le paramètre Thumbprint.

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

-Thumbprint

Le paramètre Thumbprint spécifie le certificat ou la demande de certificat à exporter. Vous pouvez rechercher la valeur d’empreinte numérique à l’aide de la cmdlet Get-ExchangeCertificate.

Le paramètre Thumbprint, et non le paramètre Identity, est le paramètre de position de cette cmdlet. Par conséquent, lorsque vous spécifiez une valeur d’empreinte de manière isolée, la commande utilise cette valeur pour le paramètre Thumbprint.

Type:String
Position:1
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

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