当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 PowerShell 安装 Exchange 证书

作者:精品下载站 日期:2024-12-14 03:13:51 浏览:13 分类:玩电脑

使用 PowerShell 安装 Exchange 证书


如何使用PowerShell安装Exchange证书?您已经拥有证书并且想要将其安装在 Exchange Server 中。这意味着您需要在 Exchange Server 中导入证书。证书导入后,将证书分配给 Exchange 服务。在上一篇文章中,我们展示了如何在 Exchange 管理中心导入证书。在本文中,您将了解如何使用 PowerShell 安装 Exchange 证书。

您的组织中是否运行着多个 Exchange Server?您可以对其他 Exchange 服务器使用相同的证书。

使用 PowerShell 安装 Exchange 证书

在开始之前,请将 Exchange 证书放置在共享文件夹中。确保为该文件夹分配权限。例如,SYSTEM 帐户。如果您不授予权限,则无法导入证书,并且会显示错误。

[玩转系统] 使用 PowerShell 安装 Exchange 证书

以管理员身份运行 Exchange 命令行管理程序。运行 Import-ExchangeCertificate cmdlet(包括 -FileName 参数)以安装 Exchange 证书。

[PS] C:\>Import-ExchangeCertificate -Server "EX01-2016" -FileName "\ex01-2016\certs\ExchangeCert.pfx" -PrivateKeyExportable:$true -Password (ConvertTo-SecureString -String "P@ssw0rd1" -AsPlainText -Force)

Thumbprint                                Services   Subject
----------                                --------   -------
0C4C00B76EB7DB236573BF79258888D32C9B753D  .......    CN=mail.exoip.com

注意:为了防止攻击者滥用 UNC 路径,Microsoft 删除了将 UNC 路径作为 Exchange Server PowerShell cmdlet 和 Exchange 管理中心输入的参数。这些更改将影响 Microsoft Exchange Server 2019(CU12 及更高版本)和 Microsoft Exchange Server 2016(CU23 及更高版本)的所有累积更新 (CU) 版本。请阅读 Exchange Server 证书更改一文了解更多信息。

自 Exchange Server 2016 CU23 和 Exchange Server CU12 起,-FileName 参数不可用。使用-FileData参数导入证书。

[PS] C:\>Import-ExchangeCertificate -Server "EX01-2016" -FileData ([System.IO.File]::ReadAllBytes('\ex01-2016\Certs\ExchangeCert.pfx')) -PrivateKeyExportable:$true -Password (ConvertTo-SecureString -String 'P@ssw0rd1' -AsPlainText -Force)

Thumbprint                                Services   Subject
----------                                --------   -------
0C4C00B76EB7DB236573BF79258888D32C9B753D  .......    CN=mail.exoip.com

使用 PowerShell 成功导入证书。

注意:证书尚未分配给 Exchange 服务。您可以从服务列中的点(…….) 看到这一点。

将证书分配给 Exchange Server 服务

如果证书未分配给 Exchange Server 服务,它将不会执行任何操作。使用 Enable-ExchangeCertificate cmdlet 和 -Services 参数分配证书。运行 cmdlet 后,按 Y,然后按 Enter

[PS] C:\>Enable-ExchangeCertificate -Server "EX01-2016" -Thumbprint 0C4C00B76EB7DB236573BF79258888D32C9B753D -Services SMTP,IMAP,IIS

Confirm
Overwrite the existing default SMTP certificate?

Current certificate: '9BC8DF0DC366A87E2D397DD4CD328D91533346D2' (expires 6/6/2025 8:00:12 PM)
Replace it with certificate: '0C4C00B76EB7DB236573BF79258888D32C9B753D' (expires 9/3/2020 6:22:51 PM)
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"): Y

验证分配的 Exchange 证书

运行 Get-ExchangeCertificate cmdlet 以验证分配的服务。

您想了解有关 Exchange Server 上安装了哪些证书的更多信息吗?请阅读使用 PowerShell 获取 Exchange 证书。

[PS] C:\>Get-ExchangeCertificate -Server "EX01-2016" | select Thumbprint, Services, NotAfter, Subject, CertificateDomains


Thumbprint         : 0C4C00B76EB7DB236573BF79258888D32C9B753D
Services           : IMAP, IIS, SMTP
NotAfter           : 9/3/2020 6:22:51 PM
Subject            : CN=mail.exoip.com
CertificateDomains : {mail.exoip.com, autodiscover.exoip.com}

证书已安装在 Exchange Server 中,一切看起来都很好。我们可以看到分配给 Exchange 服务 IMAP、IIS 和 SMTP 的证书。

本文是否帮助您使用 PowerShell 导入和分配 Exchange 证书?

结论

您学习了如何使用 PowerShell 安装 Exchange 证书。首先,将证书导入 Exchange Server。之后,将证书分配给 Exchange 服务。

我希望您喜欢这篇文章。您可能还喜欢在 Exchange Server 中更新 .NET Framework。不要忘记关注我们并分享这篇文章。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯