Import-ExchangeCertificate

此 cmdlet 仅适用于本地 Exchange。

使用 Import-ExchangeCertificate cmdlet 在 Exchange 服务器上导入证书。 可使用此 cmdlet 安装从其他服务器导出的证书,并完成挂起的认证请求, (也称为证书签名请求或来自证书颁发机构 (CA) ) 的 CSR。

有关以下语法部分的参数设置的详细信息,请参阅 Exchange cmdlet 语法。

语法

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

说明

可以使用 Import-ExchangeCertificate cmdlet 在 Exchange 服务器上导入以下类型的证书文件:

  • 由证书颁发机构 (CA) 颁发的 APKCS #7 证书或证书链文件 (.p7b 或 .p7c) 。 PKCS #7 是加密消息语法标准,一种使用公钥加密进行数字签名或加密数据的语法,其中包括证书。 有关详细信息,请参阅 PKCS #7 加密消息语法概念。
  • 包含私钥的 PKCS #12 证书文件 (.cer、.crt、.der、.p12 或 .pfx) 。 PKCS #12 是个人信息交换语法Standard,一种文件格式,用于存储带有受密码保护的相应私钥的证书。 有关详细信息,请参阅 PKCS #12:个人信息交换语法 v1.1。

在 Exchange 服务器上导入证书后,需要使用 Enable-ExchangeCertificate cmdlet 将证书分配给一个或多个 Exchange 服务。

为传输层安全性 (TLS) 服务配置证书时,需要考虑许多因素。 您需要了解这些因素可能会对整体配置产生的影响。 有关详细信息,请参阅 Exchange Server 中的数字证书和加密。

TLS 取代了 Secure Sockets Layer (SSL) ,成为用于加密计算机系统之间发送的数据的协议。 过去,“TLS”和“SSL”经常互换使用。 Exchange 文档中对 SSL 的任何引用实际上都是指 TLS,除非还包含版本号 (例如 SSL 3.0) 。 有关详细信息,请参阅 Exchange Server TLS 配置最佳做法。

您必须先获得权限,然后才能运行此 cmdlet。 尽管本文列出了 cmdlet 的所有参数,但如果分配给你的权限中未包含某些参数,则可能无权访问这些参数。 若要查找在贵组织中运行任何 cmdlet 或参数所需的权限,请参阅 Find the permissions required to run any Exchange cmdlet。

示例

示例 1

Import-ExchangeCertificate -Server Mailbox01 -FileName "\\FileServer01\Data\Exported Fabrikam Cert.pfx" -Password (Get-Credential).password

在 Exchange 2013 中,此示例将 PKCS #12 文件中的证书从 \\FileServer01\Data\Exported Fabrikam Cert.pfx 导入名为 Mailbox01 的 Exchange 服务器。 此文件需要该文件的密码。 此证书可能是从另一台服务器导出的或由证书颁发机构颁发的。

若要在 Exchange 2016 或 Exchange 2019 中导出证书,请使用示例 2 中所述的 FileData 参数。

示例 2

Import-ExchangeCertificate -Server Mailbox01 -FileData ([System.IO.File]::ReadAllBytes('\\FileServer01\Data\Exported Fabrikam Cert.pfx')) -Password (Get-Credential).password

此示例导入与示例 1 相同的证书文件。 Exchange 2016 和 Exchange 2019 中需要此方法,因为 FileName 参数不可用。

示例 3

Import-ExchangeCertificate -FileData ([System.IO.File]::ReadAllBytes('C:\Certificates\Fabrikam IssuedCert.p7b'))

此示例从本地 Exchange 服务器上的 PKCS #7 文件 C:\Certificates\Fabrikam IssuedCert.p7b 导入证书链。

参数

-Confirm

适用:Exchange Server 2010、Exchange Server 2013、Exchange Server 2016、Exchange Server 2019、Exchange Server SE

Confirm 开关指定是否显示确认提示。 此开关对 cmdlet 有何影响取决于 cmdlet 在继续操作前是否需要确认。

  • 破坏性 cmdlet(例如 Remove-* cmdlets)内置有暂停,可强制要求先确认命令,然后再继续操作。 对于这些 cmdlet,您可以使用此确切语法跳过确认提示:-Confirm:$false。
  • 其他大多数 cmdlet(例如 New-* 和 Set-* cmdlet)都没有内置暂停。 对于这些 cmdlet,在不带值的情况下指定“确认”开关会引入一个暂停,从而强制你在继续之前确认命令。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False
别名:cf

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-DomainController

适用:Exchange Server 2010、Exchange Server 2013、Exchange Server 2016、Exchange Server 2019、Exchange Server SE

DomainController 参数指定此 cmdlet 从 Active Directory 读取数据或向其写入数据时使用的域控制器。 可以使用完全限定的域名 (FQDN) 来标识域控制器。 例如,dc01.contoso.com。

边缘传输服务器上不支持 DomainController 参数。 边缘传输服务器使用活动目录轻型目录服务 (AD LDS) 的本地实例来读取和写入数据。

参数属性

类型:Fqdn
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-FileData

适用:Exchange Server 2010、Exchange Server 2013、Exchange Server 2016、Exchange Server 2019、Exchange Server SE

FileData 参数指定要导入的证书文件的内容。

此参数的有效值要求您使用以下语法将文件读取到字节编码对象: ([System.IO.File]::ReadAllBytes('<Path>\<FileName>')). 可以使用此命令作为参数值,也可以将输出写入变量 ($data = [System.IO.File]::ReadAllBytes('<Path>\<FileName>')) ,并将该变量用作参数值 ($data) 。

如果证书文件位于运行命令的 Exchange 服务器上,并且此服务器与要安装证书的服务器相同,则可以使用本地路径。 否则,请使用 UNC 路径 (\\Server\Share) 。

使用此参数导入 PKCS #7 文本证书文件时,这些文件包含:-----BEGIN CERTIFICATE----- 和 -----END CERTIFICATE----- 或 -----BEGIN PKCS7----- 和 -----END PKCS7-----,并具有 .p7b 或 .p7c 文件扩展名。

如果值中有空格,请使用双引号 (") 将此值括起来。

参数属性

类型:

Byte[]

默认值:None
支持通配符:False
不显示:False

参数集

FileData
Position:Named
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-FileName

适用:Exchange Server 2013

注意:2022 H1 累积汇报已从 Exchange 2016 和 Exchange 2019 中删除此参数,因为它接受 UNC 路径值。 若要在不使用 FileName 参数的情况下导入证书文件,请使用 FileData 参数。

此参数仅在 Exchange 2013 中可用。

FileName 参数指定要导入的证书文件。 通常,对于扩展名为 .cer、.crt、.der、.p12 或 .pfx 的 PKCS #12 二进制证书文件,应使用此参数。 当文件包含私钥或信任链时,这种类型的二进制证书文件受密码保护。

如果证书文件位于运行命令的 Exchange 服务器上,并且此服务器与要安装证书的服务器相同,则可以使用本地路径。 否则,请使用 UNC 路径 (\\Server\Share) 。

如果值中有空格,请使用双引号 (") 将此值括起来。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

Instance
Position:Named
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-FriendlyName

适用:Exchange Server 2010、Exchange Server 2013、Exchange Server 2016、Exchange Server 2019、Exchange Server SE

FriendlyName 参数指定证书的友好名称。 此值的长度不得超过 64 个字符。

友好名称值是描述性文本,不会影响证书的功能。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Instance

适用:Exchange Server 2010、Exchange Server 2013、Exchange Server 2016、Exchange Server 2019、Exchange Server SE

此参数已弃用,不再使用。

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False

参数集

FileName
Position:Named
必需:True
来自管道的值:True
来自管道的值(按属性名称):True
来自剩余参数的值:False

-Password

适用:Exchange Server 2010、Exchange Server 2013、Exchange Server 2016、Exchange Server 2019、Exchange Server SE

Password 参数指定导入证书所需的密码。

可以使用以下方法作为此参数的值:

  • (ConvertTo-SecureString -String '<password>' -AsPlainText -Force).
  • 在运行此命令之前,请将密码存储为变量 ($password = Read-Host "Enter password" -AsSecureString 例如) ,然后将变量 ($password) 用于该值。
  • (Get-Credential).password 运行此命令时系统提示您安全地输入密码。

参数属性

类型:SecureString
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-PrivateKeyExportable

适用:Exchange Server 2010、Exchange Server 2013、Exchange Server 2016、Exchange Server 2019、Exchange Server SE

PrivateKeyExportable 参数指定证书是否具有可导出的私钥,并控制是否可以从此服务器导出证书。 有效值包含:

  • $true:私钥是可导出的,因此可以从此服务器导出证书。
  • $false:私钥不可导出,因此无法从此服务器导出证书。 此值为默认值。

参数属性

类型:Boolean
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Server

适用:Exchange Server 2010、Exchange Server 2013、Exchange Server 2016、Exchange Server 2019、Exchange Server SE

服务器参数指定要运行此命令的Exchange服务器。 可以使用唯一标识该服务器的任何值。 例如:

  • 名称
  • FQDN
  • 可分辨名称 (DN)
  • Exchange 旧版 DN

Exchange 旧版 DN

参数属性

类型:ServerIdParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-WhatIf

适用:Exchange Server 2010、Exchange Server 2013、Exchange Server 2016、Exchange Server 2019、Exchange Server SE

WhatIf 开关显示命令执行的操作,而无需进行任何更改。 不必为此开关指定值。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False
别名:WI

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持以下常用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。

输入

Input types

若要了解此 cmdlet 接受的输入类型,请参阅 cmdlet 的输入和输出类型。 如果 cmdlet 的"输入类型"字段为空,则表明此 cmdlet 不接受输入数据。

输出

Output types

若要了解此 cmdlet 接受的返回类型(亦称为"输出类型"),请参阅 cmdlet 的输入和输出类型。 如果"输出类型"字段为空,则表明此 cmdlet 不返回任何数据。