Import-ExchangeCertificate

內部部署 Exchange 才有提供此 Cmdlet。

使用 Import-ExchangeCertificate Cmdlet 匯入 Exchange 伺服器上的憑證。 您可以使用此 Cmdlet 來安裝從其他伺服器匯出的憑證,以及完成擱置的憑證要求, (也稱為證書簽署要求或 CSR) 憑證授權單位單位 (CA) 。

如需下方<語法>一節中參數集的詳細資訊,請參閱 Exchange Cmdlet 語法

Syntax

Import-ExchangeCertificate
      -FileData <Byte[]>
      [-Confirm]
      [-DomainController <Fqdn>]
      [-FriendlyName <String>]
      [-Password <SecureString>]
      [-PrivateKeyExportable <Boolean>]
      [-Server <ServerIdParameter>]
      [-WhatIf]
      [<CommonParameters>]
Import-ExchangeCertificate
      -Instance <String[]>
      [-Confirm]
      [-DomainController <Fqdn>]
      [-FriendlyName <String>]
      [-Password <SecureString>]
      [-PrivateKeyExportable <Boolean>]
      [-Server <ServerIdParameter>]
      [-WhatIf]
      [<CommonParameters>]
Import-ExchangeCertificate
      -FileName <String>
      [-Confirm]
      [-DomainController <Fqdn>]
      [-FriendlyName <String>]
      [-Password <SecureString>]
      [-PrivateKeyExportable <Boolean>]
      [-Server <ServerIdParameter>]
      [-WhatIf]
      [<CommonParameters>]

Description

您可以使用 Import-ExchangeCertificate Cmdlet 在 Exchange 伺服器上匯入下列類型的憑證檔案:

  • 憑證授權單位單位 (CA) 所發行的 APKCS #7 憑證或憑證檔案鏈結 (.p7b 或 .p7c) 。 PKCS #7 是密碼編譯訊息語法標準,這是一種使用公開金鑰密碼編譯進行數位簽署或加密資料的語法,包括憑證。 如需詳細資訊,請 參閱 PKCS #7 密碼編譯傳訊語法概念
  • 包含私密金鑰的 PKCS #12 憑證檔案 (.cer、.crt、.der、.p12 或 .pfx) 。 PKCS #12 是個人資訊交換語法標準,這是一種檔案格式,用來儲存具有密碼保護之對應私密金鑰的憑證。 如需詳細資訊,請 參閱 PKCS #12:個人資訊交換語法 v1.1

在 Exchange 伺服器上匯入憑證之後,您必須使用 Enable-ExchangeCertificate Cmdlet 將憑證指派給一或多個 Exchange 服務。

設定傳輸層安全性 (TLS) 和安全通訊端層 (SSL) 服務的憑證時,必須考量許多因素。 您需要了解這些因素會如何影響整體組態。 如需詳細資訊,請參閱Exchange Server 中的數位憑證和加密

安全通訊端層 (SSL) 是以傳輸層安全性 (TLS) 取代,做為用來加密電腦系統之間傳送的資料的通訊協定。 它們密切相關,以至於 "SSL" 和 "TLS" (不含版本) 術語經常交換使用。 由於這種相似性,Exchange 主題中對 「SSL」 的參考、Exchange 系統管理中心和 Exchange 管理命令介面通常用來同時包含 SSL 和 TLS 通訊協定。 通常,僅當也提供版本 (例如,SSL 3.0) 時,"SSL" 才是指實際的 SSL 通訊協定。 如需詳細資訊,請參閱Exchange Server TLS 設定最佳做法

您必須已獲指派權限,才能執行此指令程式。 雖然本主題已列出這個指令程式的所有參數,不過,如果某些參數並未包含在指派給您的權限中,您可能就無法存取這些參數。 若要尋找在組織中執行任何 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中,此範例會將憑證從 \\FileServer01\Data\Exported Fabrikam Cert.pfx 的 PKCS #12 檔案匯入至名為 Mailbox01 的 Exchange 伺服器。 此檔案需要檔案的密碼。 此憑證可能已從另一部伺服器匯出,或由憑證授權單位單位發行。

若要在 Exchange 2016 或 Exchange 2019 中匯出憑證,請使用 FileData 參數,如範例 2 所述。

範例 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

Confirm 參數會指定要顯示或隱藏確認提示。 這個參數對 Cmdlet 的影響取決於 Cmdlet 是否需要確認才能繼續作業。

  • 例如,具破壞性的 Cmdlet (例如 Remove-* Cmdlet) 內建暫停,可強制您在繼續之前確認命令。 對於這些 Cmdlet,您可以使用以下確切語法來略過確認提示:-Confirm:$false
  • 其他大部分的 Cmdlet (例如,New-* 和 Set-* Cmdlet) 沒有內建暫停。 在使用這些 Cmdlet 時,指定不含任何值的 Confirm 參數會引入強迫您認可命令後才繼續作業的暫停。
Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-DomainController

DomainController 參數會指定此 Cmdlet 用來向 Active Directory 讀取或寫入資料的網域控制站。 您可以透過網域控制站的完整網域名稱 (FQDN) 來識別網域控制站。 例如,dc01.contoso.com。

Edge Transport Server 不支援 DomainController 參數。 Edge Transport Server 會使用 Active Directory 輕量型目錄服務 (AD LDS) 的本機執行個體來讀寫資料。

Type:Fqdn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-FileData

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。

如果值包含空格,請使用引號 (") 括住值。

Type:Byte[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-FileName

注意:2022 H1 累積更新已從 Exchange 2016 和 Exchange 2019移除此參數,因為它接受 UNC 路徑值。 若要匯入憑證檔案而不使用 FileName 參數,請使用 FileData 參數。

此參數僅適用于 Exchange 2013。

FileName 參數會指定您要匯入的憑證檔案。 一般而言,您會將此參數用於副檔名為 .cer、.crt、.der、.p12 或 .pfx 的 PKCS #12 二進位憑證檔案。 當檔案包含私密金鑰或信任鏈結時,此類型的二進位憑證檔案會受到密碼保護。

如果憑證檔案位於您執行命令的 Exchange 伺服器上,而且這是您要安裝憑證的相同伺服器,您可以使用本機路徑。 否則,請使用 UNC 路徑 (\\Server\Share) 。

如果值包含空格,請使用引號 (") 括住值。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013

-FriendlyName

FriendlyName 參數會指定憑證的易記名稱。 值必須小於 64 個字元。

易記名稱值是描述性文字,不會影響憑證的功能。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Instance

此參數已過時,不再使用。

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Password

Password 參數會指定匯入憑證所需的密碼。

您可以使用下列方法作為此參數的值:

  • (ConvertTo-SecureString -String '<password>' -AsPlainText -Force).
  • 執行此命令之前,請先將密碼儲存為變數 (例如 $password = Read-Host "Enter password" -AsSecureString ,) ,然後使用變數 ($password) 值。
  • (Get-Credential).password 當您執行此命令時,系統會提示您安全地輸入密碼。
Type:SecureString
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-PrivateKeyExportable

PrivateKeyExportable 參數會指定憑證是否具有可匯出的私密金鑰,並控制您是否可以從此伺服器匯出憑證。 有效值為:

  • $true:私密金鑰可匯出,因此您可以從此伺服器匯出憑證。
  • $false:私密金鑰無法匯出,因此您無法從此伺服器匯出憑證。 這是預設值。
Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Server

Server 參數指定您要執行此命令的 Exchange 伺服器。 您可以使用唯一識別伺服器的任何值。 例如:

  • Name
  • FQDN
  • 辨別名稱 (DN)
  • Exchange Legacy DN

Exchange Legacy DN

Type:ServerIdParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-WhatIf

WhatIf 參數會模擬命令的動作。 使用此參數時,您不需要實際套用變更即可檢視可能會發生的變更。 您不需要使用此參數指定值。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

輸入

Input types

若要查看此指令程式可接受的輸入類型,請參閱指令程式輸入和輸出類型。 如果指令程式的 [輸入類型] 欄位是空的,表示指令程式不接受輸入資料。

輸出

Output types

若要查看此指令程式可接受的傳回類型 (也就是所謂的輸出類型),請參閱指令程式輸入和輸出類型。 如果 [輸出類型] 欄位是空的,表示指令程式不會傳回資料。