Export-ExchangeCertificate

Dieses Cmdlet ist nur lokal in Exchange verfügbar.

Verwenden Sie das Cmdlet Export-ExchangeCertificate, um vorhandene Zertifikate und ausstehende Zertifikatanforderungen (auch als Zertifikatsignaturanforderungen oder CSRs bezeichnet) von Exchange-Servern zu exportieren.

Informationen zu den Parametersätzen im Abschnitt zur Syntax weiter unten finden Sie unter Syntax der Exchange-Cmdlets.

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

Beschreibung

Das Cmdlet Export-ExchangeCertificate erstellt die folgenden Dateitypen:

  • Zertifikatdateien: Wenn Sie ein Zertifikat exportieren, erstellt der Befehl eine PKCS #12-Datei. PKCS #12 ist der von RSA Laboratories festgelegte Standard für die Persönliche InformationSaustauschsyntax. Weitere Informationen finden Sie unter PKCS #12: Personal Information Exchange Syntax Standard.

    Zum Exportieren eines Zertifikats von einem Exchange-Server muss die PrivateKeyExportable-Eigenschaft des Zertifikats den Wert True aufweisen. Um ein exportiertes Zertifikat auf einem anderen Exchange-Server zu importieren, müssen Sie das Zertifikat mithilfe des Parameters Password exportieren, um den privaten Schlüssel oder die Vertrauenskette in die Zertifikatdatei einzuschließen. Die standardmäßigen Microsoft selbstsignierten Exchange-Zertifikats oder neue selbstsignierte Zertifikate, die Sie im Exchange Admin Center oder mithilfe der Standardeinstellungen des cmdlets New-ExchangeCertificate erstellen, sind nicht exportierbar, da der private Schlüssel nicht exportierbar ist (der Standardwert des Parameters PrivateKeyExportable ist $false).

  • Zertifikatanforderungsdateien: Wenn Sie eine Zertifikatanforderung exportieren, erstellt der Befehl eine PKCS #10-Datei. PKCS #10 ist der von RFC 2314 angegebene Standard für die Syntax von Zertifizierungsanforderungen. Weitere Informationen finden Sie unter PKCS #10: Syntax für Zertifizierungsanforderungen.

    In der Regel exportieren Sie eine Zertifikatanforderungsdatei, wenn Sie die Zertifikatanforderung erneut an die Zertifizierungsstelle übermitteln müssen. Sie können eine exportierte Zertifikatanforderung nicht auf einem anderen Server importieren.

Bevor Sie dieses Cmdlet ausführen können, müssen Ihnen die entsprechenden Berechtigungen zugewiesen werden. Auch wenn in diesem Thema alle Parameter für das Cmdlet aufgeführt werden, verfügen Sie möglicherweise nicht über den Zugriff auf einige Parameter, wenn sie nicht in den Ihnen zugewiesenen Berechtigungen enthalten sind. Wie Sie herausfinden, welche Berechtigungen zur Ausführung eines bestimmten Cmdlets oder Parameters in Ihrer Organisation erforderlich sind, können Sie unter Find the permissions required to run any Exchange cmdlet nachlesen.

Beispiele

Beispiel 1

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

In Exchange 2013 exportiert dieses Beispiel ein Zertifikat vom lokalen Exchange-Server in eine Datei mit den folgenden Einstellungen:

  • Das zu exportierende Zertifikat hat den Fingerabdruckwert 5113ae0233a72fccb75b1d019862867533d010e.
  • Die exportierte Zertifikatdatei ist DER-codiert (binär), nicht Base64.
  • Geben Sie das Kennwort ein, wenn Sie dazu aufgefordert werden.
  • Das Zertifikat wird in die Datei C:\Data\HT cert.pfx exportiert.

Hinweis: Der FileName-Parameter ist nur in Exchange 2013 verfügbar. Informationen zum Exportieren des Zertifikats in Exchange 2016 oder Exchange 2019 finden Sie unter Beispiel 2.

Beispiel 2

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

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

In diesem Beispiel wird dasselbe Zertifikat aus Beispiel 1 exportiert. Diese Methode ist in Exchange 2016 und Exchange 2019 erforderlich, da der FileName-Parameter nicht verfügbar ist.

Beispiel 3

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

In Exchange 2013 exportiert dieses Beispiel eine ausstehende Zertifikatanforderung in eine Datei mit den folgenden Einstellungen:

  • Die zu exportierende Zertifikatanforderung weist den Fingerabdruckwert 72570529B260E556349F3403F5CF5819D19B3B58 auf und befindet sich auf dem Exchange-Server mit dem Namen Mailbox01.
  • Die exportierte Zertifikatanforderungsdatei ist Base64-codiert, sodass die Informationen, die in die Datei geschrieben werden, auch auf dem Bildschirm angezeigt werden.
  • Die Zertifikatanforderung wird in die Datei \\FileServer01\Data\Fabrikam.req exportiert.

Hinweis: Der FileName-Parameter ist nur in Exchange 2013 verfügbar. Informationen zum Exportieren der ausstehenden Zertifikatanforderung in Exchange 2016 oder Exchange 2019 finden Sie unter Beispiel 4.

Beispiel 4

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

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

In diesem Beispiel wird die gleiche ausstehende Zertifikatanforderung aus Beispiel 3 exportiert. Diese Methode ist in Exchange 2016 und Exchange 2019 erforderlich, da der FileName-Parameter nicht verfügbar ist.

Parameter

-BinaryEncoded

Der BinaryEncoded-Switch codiert das exportierte Zertifikat oder die exportierte Zertifikatanforderungsdatei mithilfe von Distinguished Encoding Rules (DER). Sie müssen keinen Wert für diese Option angeben.

In der Regel verwenden Sie diesen Schalter beim Exportieren eines Zertifikats, da Sie das Zertifikat und seinen privaten Schlüssel oder seine Vertrauenskette in einer einzelnen Binärdatei speichern können, wenn Sie auch den Parameter Password verwenden. Wenn Sie diesen Schalter nicht verwenden, ist die exportierte Zertifikatdatei Base64-codiert, und Sie müssen alle Zwischen- oder Stammzertifikate in der Vertrauenskette separat exportieren.

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

Die Option "Confirm" gibt an, ob die Bestätigungsaufforderung angezeigt oder ausgeblendet werden soll. Wie diese Option sich auf das Cmdlet auswirkt, hängt davon ab, ob für die Option vor dem Fortfahren eine Bestätigung erforderlich ist.

  • Destruktive Cmdlets (z. B. Remove-*-Cmdlets) verfügen über eine integrierte Pause, die Sie zwingt, den Befehl zu bestätigen, bevor Sie fortfahren. Für diese Cmdlets können Sie die Bestätigungsaufforderung mit genau dieser Syntax überspringen: -Confirm:$false.
  • Die meisten anderen Cmdlets (z. B. New-* und Set-*-Cmdlets) verfügen nicht über eine integrierte Pause. Bei diesen Cmdlets führt das Angeben der Option "Confirm" ohne einen Wert eine Pause ein, die Sie zwingt, den Befehl vor dem Fortfahren zu bestätigen.
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

Der Parameter "DomainController" gibt den Domänencontroller an, der von diesem Cmdlet verwendet wird, um aus Active Directory Daten zu lesen oder hineinzuschreiben. Der Domänencontroller kann anhand seines vollqualifizierten Domänennamens (Fully Qualified Domain Name, FQDN) ermittelt werden. Beispiel: dc01.contoso.com.

Der DomainController-Parameter wird auf Edge-Transport-Servern nicht unterstützt. Edge-Transport-Server verwenden die lokale Instanz von Active Directory Lightweight Directory Services (AD LDS), um Daten zu lesen und zu schreiben.

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

Hinweis: Dieser Parameter wurde vom kumulativen 2022 H1-Aktualisierungen aus Exchange 2016 und Exchange 2019 entfernt, da er UNC-Pfadwerte akzeptiert. Um das Zertifikat oder die Zertifikatanforderung in eine Datei zu exportieren, ohne den FileName-Parameter zu verwenden, verwenden Sie die in Beispiel 2 und Beispiel 4 beschriebenen Methoden.

Dieser Parameter ist nur in Exchange 2013 verfügbar.

Der Parameter FileName gibt den Namen und Pfad des exportierten Zertifikats oder der Zertifikatanforderungsdatei an. Sie können einen lokalen Pfad verwenden, wenn sich das Zertifikat oder die Zertifikatanforderung auf demselben Exchange-Server befindet, auf dem Sie den Befehl ausführen. Verwenden Sie andernfalls einen UNC-Pfad (\\Server\Share). Wenn der Wert Leerzeichen enthält, setzen Sie ihn in Anführungszeichen (").

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

-Identity

Der Parameter Identity gibt das Zertifikat oder die Zertifikatanforderung an, die Sie exportieren möchten. Gültige Werte sind:

  • ServerNameOrFQDN\Thumbprint
  • Thumbprint

Den Fingerabdruckwert können Sie mithilfe des Cmdlets Get-ExchangeCertificate abrufen.

Verwenden Sie diesen Parameter nicht zusammen mit dem Parameter "Server".

Der Parameter "Thumbprint", und nicht der Parameter "Identity", ist der Positionsparameter für dieses Cmdlet. Wenn Sie daher einen Thumbprint-Wert allein angeben, verwendet der Befehl diesen Wert für den Thumbprint-Parameter.

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

Der Parameter Password gibt das Kennwort für den privaten Schlüssel oder die Vertrauenskette in der exportierten Zertifikatdatei an. Um die exportierte Zertifikatdatei auf einen anderen Server zu importieren, müssen Sie das Kennwort kennen.

Sie können die folgenden Methoden als Wert für diesen Parameter verwenden:

  • (ConvertTo-SecureString -String '<password>' -AsPlainText -Force).
  • Bevor Sie diesen Befehl ausführen, speichern Sie das Kennwort als Variable (z. B $password = Read-Host "Enter password" -AsSecureString. ), und verwenden Sie dann die Variable ($password) für den Wert.
  • (Get-Credential).password zur sicheren Eingabe des Kennworts aufgefordert werden, wenn Sie diesen Befehl ausführen.
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

Der Parameter "Server" gibt den Exchange-Server an, auf dem dieser Befehl ausgeführt werden soll. Der Parameter MailboxServer gibt den zu testenden exExchange2k16- oder exExchange2k13-Postfachserver an. Beispiel:

  • Name
  • FQDN
  • Distinguished Name (DN)
  • Exchange-Legacy-DN

Exchange-Legacy-DN

Sie können diesen Parameter nicht mit dem Parameter Identity verwenden. Er kann jedoch mit dem Parameter Thumbprint verwendet werden.

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

Der Parameter Thumbprint gibt das Zertifikat oder die Zertifikatanforderung an, die Sie exportieren möchten. Den Fingerabdruckwert können Sie mithilfe des Cmdlets Get-ExchangeCertificate abrufen.

Der Parameter "Thumbprint", und nicht der Parameter "Identity", ist der Positionsparameter für dieses Cmdlet. Wenn Sie daher einen Thumbprint-Wert allein angeben, verwendet der Befehl diesen Wert für den Thumbprint-Parameter.

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

Die Option "WhatIf" simuliert die Aktionen des Befehls. Sie können diesen Switch verwenden, um die Änderungen anzuzeigen, die auftreten würden, ohne diese Änderungen tatsächlich anzuwenden. Sie müssen keinen Wert für diese Option angeben.

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

Eingaben

Input types

Eingabetypen, die dieses Cmdlet akzeptiert, finden Sie unter Eingabe- und Ausgabetypen für Cmdlets. Wenn das Feld mit dem Eingabetyp für ein Cmdlet leer ist, akzeptiert das Cmdlet diese Eingabedaten nicht.

Ausgaben

Output types

Informationen zu den Rückgabetypen, die auch als Ausgabetypen bezeichnet werden, die dieses Cmdlet akzeptiert, finden Sie unter Cmdlet Input and Output Types. Wenn das Feld Ausgabetyp leer ist, gibt das Cmdlet keine Daten zurück.