共用方式為


Import-ExchangeCertificate

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

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

如需下方<語法>一節中參數集的詳細資訊,請參閱 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>]

Description

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

  • 證書頒發機構單位 (CA) 所發行的 APKCS #7 憑證或憑證檔案鏈結 (.p7b 或 .p7c) 。 PKCS #7 是密碼編譯訊息語法 Standard,這是一種使用公鑰密碼編譯進行數位簽署或加密數據的語法,包括憑證。 如需詳細資訊,請 參閱 PKCS #7 密碼編譯傳訊語法概念
  • 包含私鑰的 PKCS #12 憑證檔案 (.cer、.crt、.der、.p12 或 .pfx) 。 PKCS #12 是個人資訊交換語法 Standard,這是一種檔格式,用來儲存具有密碼保護之對應私鑰的憑證。 如需詳細資訊,請 參閱 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 的所有參數,但如果某些參數未包含在指派給您的許可權中,您可能無法存取這些參數。 若要尋找在組織中執行任何 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

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

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

  • 破壞性的 Cmdlet (如 Remove-* cmdlets) 有內建暫停,它會先強迫您確認命令才會繼續作業。 對於這些 Cmdlet,您可以使用以下確切語法來略過確認提示:-Confirm:$false
  • 其他大部分的 Cmdlet (如 New-* 和 Set-* cmdlets) 則沒有內建暫停。 在使用這些 Cmdlet 時,指定不含任何值的 Confirm 參數會引入強迫您認可命令後才繼續作業的暫停。

參數屬性

類型: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

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

Edge Transport Server 不支援 DomainController 參數。 Edge Transport Server 會使用 Active Directory 輕量型目錄服務 (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

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

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

此參數已被取代,不再使用。

參數屬性

類型:

String[]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

FileName
Position:Named
必要:True
來自管線的值:True
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Password

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

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

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

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

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

Exchange Legacy 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

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

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False
別名:無線

參數集

(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

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

輸出

Output types

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