Import-ExchangeCertificate
Dieses Cmdlet ist nur lokal in Exchange verfügbar.
Verwenden Sie das Cmdlet Import-ExchangeCertificate, um Zertifikate auf Exchange-Servern zu importieren. Sie verwenden dieses Cmdlet zum Installieren von Zertifikaten, die von anderen Servern exportiert wurden, und zum Abschließen von ausstehenden Zertifizierungsanforderungen (heißen auch Zertifikatsignieranforderungen (Certificate Signing Requests, CSR) von Zertifizierungsstellen (Certification Authorities, CAs)).
Informationen zu den Parametersätzen im Abschnitt zur Syntax weiter unten finden Sie unter Syntax der Exchange-Cmdlets.
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>]
Beschreibung
Sie können das Cmdlet Import-ExchangeCertificate verwenden, um die folgenden Arten von Zertifikatdateien auf einem Exchange-Server zu importieren:
- Eine PKCS #7-Zertifikats- oder Zertifikatskettendatei (P7B oder P7C), die durch eine Zertifizierungsstelle (Certification Authority, CA) ausgestellt wurde. Bei PKCS #7 handelt es sich um einen Syntaxstandard kryptographischer Meldungen, eine Syntax, die für digitales Signieren oder Verschlüsseln von Daten mit einer Kryptografie mit öffentlichen Schlüsseln, einschließlich Zertifikaten, verwendet wird. Weitere Informationen finden Sie unter PKCS #7 Kryptografische Messagingsyntaxkonzepte.
- Eine PKCS #12-Zertifikatsdatei (CER, CRT, DER, P12 oder PFX), die den privaten Schlüssel enthält. Bei PKCS #12 handelt es sich um den Standard für die Syntax beim Austausch von vertraulichen Informationen, ein zum Speichern von Zertifikaten mit den entsprechenden kennwortgeschützten Schlüsseln verwendetes Dateiformat. Weitere Informationen finden Sie unter PKCS #12: Personal Information Exchange Syntax v1.1.
Nachdem Sie ein Zertifikat auf einem Exchange-Server importiert haben, müssen Sie das Zertifikat mithilfe des Cmdlets Enable-ExchangeCertificate einem oder mehreren Exchange-Diensten zuweisen.
Bei der Konfiguration von Zertifikaten für TLS- (Transport Layer Security) und SSL-Dienste (Secure Sockets Layer) sind eine Reihe von Faktoren zu beachten. Sie müssen wissen, welche Auswirkungen diese Faktoren auf Ihre Gesamtkonfiguration haben. Weitere Informationen finden Sie unter Digitale Zertifikate und Verschlüsselung in Exchange Server.
Secure Sockets Layer (SSL) wird durch Transport Layer Security (TLS) als Protokoll ersetzt, das zum Verschlüsseln von Daten verwendet wird, die zwischen Computersystemen gesendet werden. Sie sind so eng miteinander verbunden, dass die Begriffe "SSL" und "TLS" (ohne Versionen) häufig synonym verwendet werden. Aufgrund dieser Ähnlichkeit wurden Verweise auf "SSL" in Exchange-Themen, das Exchange Admin Center und die Exchange-Verwaltungsshell häufig verwendet, um sowohl das SSL- als auch das TLS-Protokoll zu umfassen. „SSL“ bezieht sich in der Regel nur dann auf das eigentliche SSL-Protokoll, wenn auch eine Version angegeben wird (z. B. SSL 3.0). Weitere Informationen finden Sie unter Exchange Server bewährte Methoden für die TLS-Konfiguration.
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
Import-ExchangeCertificate -Server Mailbox01 -FileName "\\FileServer01\Data\Exported Fabrikam Cert.pfx" -Password (Get-Credential).password
In Exchange 2013 importiert dieses Beispiel das Zertifikat aus der PKCS #12-Datei aus \\FileServer01\Data\Exported Fabrikam Cert.pfx auf den Exchange-Server mailbox01. Für diese Datei ist das Kennwort der Datei erforderlich. Dieses Zertifikat könnte von einem anderen Server exportiert oder von einer Zertifizierungsstelle ausgestellt worden sein.
Verwenden Sie zum Exportieren des Zertifikats in Exchange 2016 oder Exchange 2019 den FileData-Parameter, wie in Beispiel 2 beschrieben.
Beispiel 2
Import-ExchangeCertificate -Server Mailbox01 -FileData ([System.IO.File]::ReadAllBytes('\\FileServer01\Data\Exported Fabrikam Cert.pfx')) -Password (Get-Credential).password
In diesem Beispiel wird die gleiche Zertifikatdatei aus Beispiel 1 importiert. Diese Methode ist in Exchange 2016 und Exchange 2019 erforderlich, da der FileName-Parameter nicht verfügbar ist.
Beispiel 3
Import-ExchangeCertificate -FileData ([System.IO.File]::ReadAllBytes('C:\Certificates\Fabrikam IssuedCert.p7b'))
In diesem Beispiel wird eine Kette von Zertifikaten aus der PKCS #7-Datei C:\Certificates\Fabrikam IssuedCert.p7b auf dem lokalen Exchange-Server importiert.
Parameter
-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.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Gilt für:: | 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.
Typ: | Fqdn |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Gilt für:: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-FileData
Der Parameter FileData gibt den Inhalt der zu importierenden Zertifikatsdatei an.
Ein gültiger Wert für diesen Parameter erfordert, dass Sie die Datei mithilfe der folgenden Syntax in ein bytecodiertes Objekt lesen: ([System.IO.File]::ReadAllBytes('<Path>\<FileName>'))
. Sie können diesen Befehl als Parameterwert verwenden, oder Sie können die Ausgabe in eine Variable ($data = [System.IO.File]::ReadAllBytes('<Path>\<FileName>')
) schreiben und die Variable als Parameterwert ($data
) verwenden.
Sie können einen lokalen Pfad verwenden, wenn sich die Zertifikatdatei auf dem Exchange-Server befindet, auf dem Sie den Befehl ausführen, und dies ist derselbe Server, auf dem Sie das Zertifikat installieren möchten. Verwenden Sie andernfalls einen UNC-Pfad (\\Server\Share
).
Wenn Sie diesen Parameter zum Importieren von PKCS #7-Textzertifikatdateien verwenden, enthalten diese Dateien Folgendes: -----BEGIN CERTIFICATE----- und -----END CERTIFICATE----- oder -----BEGIN PKCS7----- und -----END PKCS7----- und verfügen über die Dateinamenerweiterungen .p7b oder .p7c.
Wenn der Wert Leerzeichen enthält, setzen Sie ihn in Anführungszeichen (").
Typ: | Byte[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Gilt für:: | 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. Verwenden Sie den FileData-Parameter, um eine Zertifikatdatei ohne Verwendung des FileName-Parameters zu importieren.
Dieser Parameter ist nur in Exchange 2013 verfügbar.
Der Parameter FileName gibt die zu importierende Zertifikatsdatei an. Sie verwenden diesen Parameter für gewöhnlich für binäre PKCS #12-Zertifikatsdateien mit CER-, CRT-, DER-, P12- oder PFX-Dateinamenserweiterungen. Dieser binäre Zertifikatsdateityp ist kennwortgeschützt, wenn die Datei den privaten Schlüssel oder die Zertifikatkette aufweist.
Sie können einen lokalen Pfad verwenden, wenn sich die Zertifikatdatei auf dem Exchange-Server befindet, auf dem Sie den Befehl ausführen, und dies ist derselbe Server, auf dem Sie das Zertifikat installieren möchten. Verwenden Sie andernfalls einen UNC-Pfad (\\Server\Share
).
Wenn der Wert Leerzeichen enthält, setzen Sie ihn in Anführungszeichen (").
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Gilt für:: | Exchange Server 2013 |
-FriendlyName
Der Parameter FriendlyName gibt einen Anzeigenamen für das Zertifikat an. Der Wert darf maximal 64 Zeichen lang sein.
Der Wert des Anzeigenamens ist beschreibender Text und wirkt sich nicht auf die Funktionalität des Zertifikats aus.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Gilt für:: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-Instance
Dieser Parameter wird nicht mehr unterstützt und daher nicht mehr verwendet.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
Gilt für:: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-Password
Der Parameter Password gibt das Kennwort an, das erforderlich ist, um das Zertifikat zu importieren.
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.
Typ: | SecureString |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Gilt für:: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-PrivateKeyExportable
Der Parameter PrivateKeyExportable gibt an, ob das Zertifikat über einen exportierbaren privaten Schlüssel verfügt, und steuert, ob Sie das Zertifikat von diesem Server exportieren können. Gültige Werte sind:
- $true: Der private Schlüssel kann exportiert werden, sodass Sie das Zertifikat von diesem Server exportieren können.
- $false: Der private Schlüssel kann nicht exportiert werden, sodass Sie das Zertifikat nicht von diesem Server exportieren können. Dies ist der Standardwert.
Typ: | Boolean |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Gilt für:: | 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
Typ: | ServerIdParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Gilt für:: | 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.
Typ: | SwitchParameter |
Aliase: | wi |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Gilt für:: | 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.