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
FileData
Import-ExchangeCertificate
-FileData <Byte[]>
[-Confirm]
[-DomainController <Fqdn>]
[-FriendlyName <String>]
[-Password <SecureString>]
[-PrivateKeyExportable <Boolean>]
[-Server <ServerIdParameter>]
[-WhatIf]
[<CommonParameters>]
FileName
Import-ExchangeCertificate
-Instance <String[]>
[-Confirm]
[-DomainController <Fqdn>]
[-FriendlyName <String>]
[-Password <SecureString>]
[-PrivateKeyExportable <Boolean>]
[-Server <ServerIdParameter>]
[-WhatIf]
[<CommonParameters>]
Instance
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. Obwohl in diesem Artikel alle Parameter für das Cmdlet aufgeführt sind, haben Sie möglicherweise keinen 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 dieselbe 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
Anwendbar: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019
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 (beispielsweise Remove-*-Cmdlets) verfügen über eine integrierte Pause, die Sie zwingt, den Befehl vor dem Fortfahren zu bestätigen. Für diese Cmdlets können Sie die Bestätigungsaufforderung mit genau dieser Syntax überspringen:
-Confirm:$false. - Die meisten anderen Cmdlets (beispielsweise 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.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | vgl |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-DomainController
Anwendbar: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019
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.
Parametereigenschaften
| Typ: | Fqdn |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-FileData
Anwendbar: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019
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 (").
Parametereigenschaften
| Typ: | Byte[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
FileData
| Position: | Named |
| Obligatorisch.: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-FileName
Anwendbar: Exchange Server 2013
Hinweis: Dieser Parameter wurde vom kumulativen Updates 2022 H1 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 (").
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
Instance
| Position: | Named |
| Obligatorisch.: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-FriendlyName
Anwendbar: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019
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.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Instance
Anwendbar: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019
Dieser Parameter ist veraltet und wird nicht mehr verwendet.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
FileName
| Position: | Named |
| Obligatorisch.: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Password
Anwendbar: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019
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).passwordaufgefordert werden, das Kennwort sicher einzugeben, wenn Sie diesen Befehl ausführen.
Parametereigenschaften
| Typ: | SecureString |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-PrivateKeyExportable
Anwendbar: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019
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. Dieser Wert ist die Standardeinstellung.
Parametereigenschaften
| Typ: | Boolean |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Server
Anwendbar: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019
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
Parametereigenschaften
| Typ: | ServerIdParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-WhatIf
Anwendbar: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019
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.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Wi |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen finden Sie unter about_CommonParameters.
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 und die von diesem Cmdlet akzeptiert werden, finden Sie unter Eingabe- und Ausgabetypen von Cmdlets. Wenn das Feld mit dem Ausgabetyp leer ist, gibt das Cmdlet keine Daten zurück.