New-ExchangeCertificate

 

Gilt für: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1

Letztes Änderungsdatum des Themas: 2009-05-11

Mithilfe des Cmdlets New-ExchangeCertificate können Sie für TLS- (Transport Layer Security) und SSL-Dienste (Secure Sockets Layer) ein neues selbstsigniertes Zertifikat oder eine neue Zertifikatanforderung erstellen.

Wichtig

Bei der Konfiguration von Zertifikaten für SSL- und TLS-Dienste sind zahlreiche Variablen bzw. Faktoren zu berücksichtigen. Sie müssen wissen, welche Auswirkungen diese Variablen und Faktoren auf Ihre Gesamtkonfiguration haben. Bevor Sie fortfahren, lesen Sie Verwendung von Zertifikaten in Exchange 2007 Server.

Syntax

New-ExchangeCertificate [-Confirm [<SwitchParameter>]] [-DomainController <String>] [-DomainName <MultiValuedProperty>] [-FriendlyName <String>] [-IncludeAcceptedDomains <SwitchParameter>] [-IncludeAutoDiscover <SwitchParameter>] [-Instance <X509Certificate2>] [-KeySize <Int32>] [-PrivateKeyExportable <$true | $false>] [-Services <None | IMAP | POP | UM | IIS | SMTP>] [-SubjectName <X500DistinguishedName>] [-WhatIf [<SwitchParameter>]]

New-ExchangeCertificate [-BinaryEncoded <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-DomainController <String>] [-DomainName <MultiValuedProperty>] [-Force <SwitchParameter>] [-FriendlyName <String>] [-GenerateRequest <SwitchParameter>] [-IncludeAcceptedDomains <SwitchParameter>] [-IncludeAutoDiscover <SwitchParameter>] [-Instance <X509Certificate2>] [-KeySize <Int32>] [-Path <String>] [-PrivateKeyExportable <$true | $false>] [-SubjectName <X500DistinguishedName>] [-WhatIf [<SwitchParameter>]]

Detaillierte Beschreibung

Das Cmdlet New-ExchangeCertificate verwendet zahlreiche Parameter des Typs SwitchParameter. Weitere Informationen über die Verwendung dieses Typs finden Sie unter "Schalterparameter" in Parameter.

Damit Sie das Cmdlet New-ExchangeCertificate ausführen können, muss Folgendes an das verwendete Konto delegiert worden sein:

  • Exchange-Serveradministrator-Rolle und lokale Gruppe Administratoren für den Zielserver

Um das Cmdlet New-ExchangeCertificate auf einem Computer ausführen zu können, auf dem die Serverfunktion Edge-Transport installiert ist, müssen Sie sich mit einem Konto anmelden, das Mitglied der lokalen Gruppe Administratoren auf diesem Computer ist.

Weitere Informationen zu Berechtigungen, zum Delegieren von Rollen und zu den Rechten, die für die Verwaltung von Microsoft Exchange Server 2007 erforderlich sind, finden Sie unter Überlegungen zu Berechtigungen.

Parameter

Parameter Erforderlich Typ Beschreibung

BinaryEncoded

Optional

System.Management.Automation.SwitchParameter

Verwenden Sie diesen Parameter, um anzugeben, wie die exportierte Datei codiert werden soll. Standardmäßig erstellt dieses Cmdlet eine Base64-codierte Datei.

Zum Erstellen einer DER-codierten Datei legen Sie diesen Parameter auf $True fest.

Confirm

Optional

System.Management.Automation.SwitchParameter

Der Parameter Confirm bewirkt eine Unterbrechung der Befehlsausführung und zwingt Sie, die Aktion des Befehls zu bestätigen, bevor die Verarbeitung fortgesetzt wird. Für den Parameter Confirm muss kein Wert angegeben werden.

DomainController

Optional

System.String

Um den vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) des Domänencontrollers anzugeben, der Daten aus dem Active Directory-Verzeichnisdienst abruft, fügen Sie dem Befehl den Parameter DomainController hinzu. Der Parameter DomainController wird nicht auf Computern unterstützt, auf denen die Serverfunktion Edge-Transport ausgeführt wird. Die Serverfunktion Edge-Transport schreibt nur in die lokale Active Directory-ADAM-Instanz (Application Mode).

DomainName

Optional

Microsoft.Exchange.Data.MultiValuedProperty

Verwenden Sie diesen Parameter, um mindestens einen Domänen- (FQDN) oder Servernamen in der sich ergebenden Zertifikatanforderung anzugeben.

Domänennamen dürfen nur die Zeichen "a-z", "0-9" und Bindestriche ("-") enthalten. Jeder Domänenname darf höchstens 255 Zeichen lang sein.

Zur Eingabe mehrere Domänen- oder Servernamen müssen Sie die Namen durch Kommas getrennt eingeben.

Force

Optional

System.Management.Automation.SwitchParameter

Verwenden Sie diesen Parameter, um eine vorhandene Zertifikatanforderungsdatei zu überschreiben, deren Dateipfad dem in diesem Cmdlet angegebenen entspricht.

Standardmäßig überschreibt dieses Cmdlet keine vorhandenen Dateien.

FriendlyName

Optional

System.String

Mithilfe dieses Parameters können Sie einen Anzeigenamen für das sich ergebende Zertifikat angeben. Der Anzeigename darf maximal 63 Zeichen lang sein.

Der Standardanzeigename ist "Microsoft Exchange".

GenerateRequest

Optional

System.Management.Automation.SwitchParameter

Mithilfe dieses Parameters können Sie den Typ des zu erstellenden Zertifikatobjekts angeben.

Standardmäßig erstellt dieser Parameter ein selbstsigniertes Zertifikat im lokalen Zertifikatspeicher des Computers.

Zum Erstellen einer Zertifikatanforderung für ein PKI-Zertifikat (PKCS #10) im lokalen Anforderungsspeicher legen Sie diesen Parameter auf $True fest.

IncludeAcceptedDomains

Optional

System.Management.Automation.SwitchParameter

Verwenden Sie diesen Parameter, um alle definierten akzeptierten Domänen in das Domänennamenfeld einzuschließen.

Sie können in der Anforderung auch einen Parameter DomainName angeben. Das sich ergebende Zertifikat bzw. die Anforderung enthält dann die Vereinigung der beiden Werte.

IncludeAutoDiscover

Optional

System.Management.Automation.SwitchParameter

Verwenden Sie diesen Parameter, um jedem Domänennamen, der für das sich ergebende Zertifikat generiert wird, das Präfix "autodiscover" (AutoErmittlung) hinzuzufügen. Dieser Parameter kann nur angegeben werden, wenn das Cmdlet auf einem Exchange-Server ausgeführt wird, auf dem die Serverfunktion ClientAccess installiert ist. Hinweis: Dieser Parameter fügt dem Domänennamen das Präfix "autodiscover" nur hinzu, wenn dieser es noch nicht enthält.

Instance

Optional

System.Security.Cryptography.X509Certificates.X509Certificate2

Verwenden Sie diesen Parameter, um dem zu verarbeitenden Befehl ein vollständiges Objekt zu übergeben. Der Parameter Instance wird hauptsächlich in Skripts verwendet, in denen ein vollständiges Objekt an den Befehl übergeben werden muss.

KeySize

Optional

System.Int32

Verwenden Sie diesen Parameter, um die Größe (in Bit) des öffentlichen RSA-Schlüssels anzugeben, der dem zu erstellenden Zertifikat zugeordnet ist.

Zulässige Werte sind 4096, 2048 und 1024. Der Standardwert ist 2048.

Path

Optional

System.String

Verwenden Sie diesen Parameter, um einen Pfad für die sich ergebende PKCS #10-Anforderungsdatei anzugeben.

Dieser Parameter ist nur gültig, wenn GenerateRequest auf $true festgelegt ist.

Das Cmdlet New-ExchangeCertificate generiert eine Zertifikatanforderung im lokalen Zertifikatspeicher, auch wenn der Parameter Path angegeben ist. Die Zertifikatanforderung, die im lokalen Zertifikatspeicher generiert wird, enthält die Schlüssel für das sich ergebende Zertifikat.

Bei Verwendung dieses Parameters müssen Sie den Namen der Anforderungsdatei angeben. Der Name muss mit der Erweiterung REQ enden, beispielsweise:

-Path c:\certificates\request.req

Die REQ-Datei wird von der Zertifizierungsstelle (Certification Authority, CA) zum Generieren eines Zertifikats verwendet.

PrivateKeyExportable

Optional

System.Boolean

Verwenden Sie diesen Parameter, um anzugeben, ob das sich ergebende Zertifikat über einen exportierbaren privaten Schlüssel verfügt.

Standardmäßig lassen alle mit diesem Cmdlet erstellten Zertifikatanforderungen und Zertifikate das Exportieren des privaten Schlüssels nicht zu.

Dabei ist zu beachten, dass ein Zertifikat, dessen privater Schlüssel nicht exportiert werden kann, selbst nicht exportiert oder importiert werden kann.

Legen Sie diesen Parameter auf $true fest, damit das Exportieren des privaten Schlüssels bei dem sich ergebenden Zertifikat zulässig ist.

Services

Optional

Microsoft.Exchange.Management.SystemConfigurationTasks.AllowedServices

Mithilfe dieses Parameters können Sie die Dienste angeben, die das sich ergebende Zertifikat verwenden sollen. Es können keine Dienste angegeben werden, wenn der Wert von GenerateRequest auf $true festgelegt ist.

Gültige Einträge umfassen eine Kombination aus Folgendem:

  • IMAP

  • POP

  • UM

  • IIS

  • SMTP

  • None

Zum Erstellen eines selbstsignierten Zertifikats für mehrere Dienste schließen Sie die Werte in Anführungszeichen ein und trennen diese durch Kommas. Beispiel:

-Services "IMAP, POP, IIS"

Zum Erstellen eines Zertifikats, das deaktiviert ist, damit es auf einen anderen Computer exportiert werden kann, legen Sie diesen Parameter auf None fest.

Der Standardwert lautet SMTP.

SubjectName

Optional

System.Security.Cryptography.X509Certificates.X500DistinguishedName

Mithilfe dieses Parameters können Sie den Antragstellernamen für das sich ergebende Zertifikat angeben.

Der Subjektname eines Zertifikats ist das Feld, das von DNS-gestützten Diensten verwendet wird. Mit dem Feld für den Subjektnamen wird ein Zertifikat an einen bestimmten Server- oder Domänennamen gebunden.

Ein Antragstellername ist ein X.500-Distinguished Name, der aus mindestens einem relativen Distinguished Name (auch als "RDN" bezeichnet) besteht.

Standardmäßig wird der Hostname des Servers, auf dem das Cmdlet ausgeführt wird, in dem sich ergebenden Zertifikat als CN verwendet. Wenn das Cmdlet z. B. auf dem Server EXMBX01 ausgeführt wird, wird der Antragstellername CN=EXMBX01 verwendet.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Der Parameter WhatIf weist den Befehl an, die für das Objekt ausgeführten Aktionen lediglich zu simulieren. Durch Verwendung des Parameters WhatIf können Sie eine Vorschau der Änderungen anzeigen, ohne diese Änderungen wirklich übernehmen zu müssen. Für den Parameter WhatIf muss kein Wert angegeben werden.

Eingabetypen

Rückgabetypen

Fehler

Fehler Beschreibung

 

Ausnahmen

Ausnahmen Beschreibung

 

Beispiel

Das erste Beispiel zeigt die Ausführung des Cmdlets ohne Argumente. Wenn das Cmdlet New-ExchangeCertificate ohne Argumente ausgeführt wird, wird ein selbstsigniertes Zertifikat für SMTP SSL/TLS generiert. Der Antragstellername des Zertifikats ist der FQDN des lokalen Computers. Dieses interne Transportzertifikat kann so, wie es ist, für die Authentifizierung der direkten Vertrauensstellung und die Verschlüsselung zwischen Edge-Transport-Servern und Hub-Transport-Servern verwendet werden. Die lokale Sicherheitsgruppe Network Services erhält außerdem Lesezugriff auf den dem Zertifikat zugeordneten privaten Schlüssel. Darüber hinaus wird das Zertifikat in Active Directory veröffentlicht, damit die direkte Exchange Server-Vertrauensstellung verwendet werden kann, um die Authentizität des Servers für MTLS (Mutual TLS) zu überprüfen.

Das zweite Beispiel zeigt die Ausführung des Cmdlets, bei der eine Zertifikatanforderung generiert und in einen Pfad auf dem lokalen Computer kopiert wird. Dem sich ergebenden Zertifikat werden die folgenden Attribute zugeordnet:

  • Antragstellername: c=<ES>,o=<Diversión de Bicicleta>,cn=mail1. DiversiondeBicicleta.com

  • Subjektalternativname: woodgrove.com und example.com

  • Ein exportierbarer privater Schlüssel

Weitere Beispiele finden Sie unter Erstellen eines Zertifikats oder einer Zertifikatsanforderung für TLS sowie in den folgenden Einträgen des Microsoft Exchange Team Blog-Artikels:

Weitere Informationen finden Sie im Whitepaper zur Domänensicherheit.

New-ExchangeCertificate
New-ExchangeCertificate -GenerateRequest -Path c:\certificates\request.req -SubjectName "c=ES, o=Diversión de Bicicleta, cn=mail1. DiversiondeBicicleta.com" -DomainName woodgrove.com, example.com -PrivateKeyExportable $true