Enable-ExchangeCertificate

此 cmdlet 仅适用于本地 Exchange。

使用 Enable-ExchangeCertificate cmdlet 在 Exchange 服务器上为 Exchange 服务(例如 Internet Information Services (IIS) 、SMTP、POP、IMAP 和统一消息 (UM) )启用现有证书。 一旦为服务启用证书,便无法再禁用。

若要查看用于 Exchange 服务的现有证书,请使用 Get-ExchangeCertificate

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

语法

Enable-ExchangeCertificate
      [-Thumbprint] <String>
      -Services <AllowedServices>
      [-Confirm]
      [-DomainController <Fqdn>]
      [-DoNotRequireSsl]
      [-Force]
      [-NetworkServiceAllowed]
      [-Server <ServerIdParameter>]
      [-WhatIf]
      [<CommonParameters>]
Enable-ExchangeCertificate
      [[-Identity] <ExchangeCertificateIdParameter>]
      -Services <AllowedServices>
      [-Confirm]
      [-DomainController <Fqdn>]
      [-DoNotRequireSsl]
      [-Force]
      [-NetworkServiceAllowed]
      [-WhatIf]
      [<CommonParameters>]

说明

Enable-ExchangeCertificate cmdlet 通过更新与证书一起存储的元数据来启用证书。 若要使现有证书能够处理其他 Exchange 服务,请使用此 cmdlet 指定服务。

运行 Enable-ExchangeCertificate cmdlet 后,可能需要重启 Internet Information Services (IIS) 。 在某些情况下,Exchange 可能会继续使用以前的证书来加密和解密用于Outlook 网页版 (以前称为Outlook Web App) 身份验证的 Cookie。 建议在使用第 4 层负载均衡的环境中重启 IIS。

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

安全套接字层 (SSL) 将由传输层安全性 (TLS) 替代作为用于加密计算机系统之间发送的数据的协议。 它们是如此密切相关,以至于术语"SSL"和"TLS"(不带版本)经常互换使用。 由于此相似性,Exchange 主题、Exchange 管理中心 和 Exchange 命令行管理程序 中对"SSL"的引用通常用来同时涵盖 SSL 和 TLS 协议。 通常,“SSL”仅在提供版本的情况下指的是实际的 SSL 协议(例如,SSL 3.0)。 有关详细信息,请参阅 Exchange Server TLS 配置最佳做法

您必须先获得权限,然后才能运行此 cmdlet。 虽然本主题中列出了此 cmdlet 的所有参数,但如果这些参数并未包含在分配给您的权限中,那么您将无法使用这些参数。 若要查找在贵组织中运行任何 cmdlet 或参数所需的权限,请参阅 Find the permissions required to run any Exchange cmdlet

示例

示例 1

Enable-ExchangeCertificate -Thumbprint 5113ae0233a72fccb75b1d0198628675333d010e -Services POP,IMAP,SMTP,IIS

此示例为 POP、IMAP、SMTP 和 IIS 服务启用证书。

参数

-Confirm

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

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

  • 破坏性 cmdlet(例如 Remove-* cmdlets)内置有暂停,可强制要求先确认命令,然后再继续操作。 对于这些 cmdlet,您可以使用此确切语法跳过确认提示:-Confirm:$false
  • 其他大多数 cmdlet(例如 New-* 和 Set-* cmdlet)都没有内置暂停。 对于这些 cmdlet,指定不含值的 Confirm 开关会引入暂停,从而强制要求你先确认命令,然后再继续操作。
类型:SwitchParameter
别名:cf
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DomainController

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

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

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

类型:Fqdn
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DoNotRequireSsl

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

DoNotRequireSsl 开关可在您为 IIS 启用证书后防止命令在默认网站上启用“需要 SSL”设置。 不必为此开关指定值。

如果您不使用此开关,而是使用 Services 参数来为 IIS 启用证书,则命令会在 IIS 中的默认网站上启用“需要 SSL”设置。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Force

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

强制开关隐藏警告或确认消息。 不必为此开关指定值。

您可以在以编程方式运行任务时使用此开关,因为此时并不适合提示用户提供管理输入。

默认情况下,为 SMTP 启用证书时,命令会提示你替换为 SMTP 启用的现有证书,这可能是默认的 Exchange 自签名证书。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Identity

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

Identity 参数指定要配置的证书。 有效值包含:

  • ServerNameOrFQDN\Thumbprint
  • Thumbprint

您可以使用 Get-ExchangeCertificate cmdlet 查找指纹值。

你无法把这个参数和服务器参数一起使用。

指纹参数,而非标识参数,是这个cmdlet的位置参数。 因此,当你指定一个指纹值本身时,此命令将该值用于拇指值参数。

类型:ExchangeCertificateIdParameter
Position:1
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-NetworkServiceAllowed

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

NetworkServiceAllowed 开关授权内置的网络服务帐户在不为 SMTP 启用证书的情况下,读取证书的私钥。 不必为此开关指定值。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Server

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

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

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

Exchange 旧版 DN

此参数不能与 Identity 参数一起使用,但可以与 Thumbprint 参数一起使用。

类型:ServerIdParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Services

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

Services 参数指定为其启用证书的 Exchange 服务。 有效值包含:

  • 联合:不要使用此命令为联合身份验证启用证书。 创建或修改联合身份验证信任可启用或修改证书用于联合的方式。 使用 New-FederationTrust 和 Set-FederationTrust cmdlet 管理用于联合身份验证信任的证书。
  • IIS:默认情况下,为 IIS 启用证书时,“需要 SSL”设置在 IIS 中的默认网站上配置。 若要防止此更改,请使用 DoNotRequireSsl 开关。
  • IMAP:不要为 IMAP4 服务启用通配符证书。 请改用 Set-ImapSettings cmdlet 配置客户端用于连接到 IMAP4 服务的 FQDN。
  • POP:不要为 POP3 服务启用通配符证书。 请改用 Set-PopSettings cmdlet 来配置客户端用来连接到 POP3 服务的 FQDN。
  • SMTP:为 SMTP 启用证书时,系统会提示你替换用于加密内部 Exchange 之间的 SMTP 流量的默认 Exchange 自签名证书。 通常,无需将默认证书替换为来自商业 CA 的证书来加密内部 SMTP 流量。 如果要在没有确认提示的情况下替换默认证书,请使用 Force 开关。
  • UM:仅当 Set-UMService cmdlet 上的 UMStartupMode 参数设置为 TLS 或 Dual 时,才能为 UM 服务启用证书。 如果 UMStartupMode 参数设置为默认值 TCP,则无法为 UM 服务启用证书。
  • UMCallRouter:仅当 Set-UMCallRouterService cmdlet 上的 UMStartupMode 参数设置为 TLS 或 Dual 时,才能为 UM 呼叫路由器服务启用证书。 如果 UMStartupMode 参数设置为默认值 TCP,则无法为 UM 呼叫路由器服务启用证书。

可以指定用逗号分隔的多个值。

您使用此参数指定的值是累加的。 为一个或多个服务启用证书时,任何现有服务将保留在 Services 属性中,并且无法删除现有服务。 请改为为服务配置另一个证书,然后删除不想使用的证书。

不同的服务有不同的证书要求。 例如,一些服务要求在证书的“使用者名称”或“使用者可选名称”字段中填写服务器名称,而另一些服务则要求填写 FQDN。 请确认证书是否支持您要配置的服务。

类型:AllowedServices
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Thumbprint

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

Thumbprint 参数指定要配置的证书。 您可以使用 Get-ExchangeCertificate cmdlet 查找指纹值。

指纹参数,而非标识参数,是这个cmdlet的位置参数。 因此,当你指定一个指纹值本身时,此命令将该值用于拇指值参数。

类型:String
Position:1
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-WhatIf

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

WhatIf 开关模拟命令操作。 可以使用此开关在不实际应用将会发生的更改的情况下预览这些更改。 不必为此开关指定值。

类型:SwitchParameter
别名:wi
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输入

Input types

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

输出

Output types

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