Export-ExchangeCertificate

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

使用 Export-ExchangeCertificate Cmdlet 從 Exchange 伺服器匯出現有的憑證和擱置的憑證要求 (也稱為憑證簽署要求或 CSR,) Exchange 伺服器。

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

語法

Thumbprint

Export-ExchangeCertificate
    [-Thumbprint] <String>
    [-Server <ServerIdParameter>]
    [-BinaryEncoded]
    [-Confirm]
    [-DomainController <Fqdn>]
    [-FileName <String>]
    [-Password <SecureString>]
    [-WhatIf]
    [<CommonParameters>]

Identity

Export-ExchangeCertificate
    [[-Identity] <ExchangeCertificateIdParameter>]
    [-BinaryEncoded]
    [-Confirm]
    [-DomainController <Fqdn>]
    [-FileName <String>]
    [-Password <SecureString>]
    [-WhatIf]
    [<CommonParameters>]

Description

Export-ExchangeCertificate Cmdlet 會建立下列類型的檔案:

  • 憑證檔案:當您匯出憑證時,此命令會建立 PKCS #12 檔案。 PKCS #12 是由 RSA Laboratories 指定的個人資訊交換語法標準。 如需詳細資訊,請參閱 PKCS #12:個人資訊交換語法 Standard。

    若要從 Exchange 伺服器匯出憑證,憑證的 PrivateKeyExportable 屬性必須具有 True 值。 若要在另一部 Exchange 伺服器上匯入匯出的憑證,您必須使用 Password 參數來匯出憑證,以在憑證檔案中包含私密金鑰或信任鏈結。 預設Microsoft Exchange 自我簽署憑證或您在 Exchange 系統管理中心或使用 New-ExchangeCertificate Cmdlet 的預設設定建立的新自我簽署憑證無法匯出,因為私密金鑰無法匯出, (PrivateKeyExportable 參數的預設值為 $false) 。

  • 憑證要求檔案:當您匯出憑證要求時,此命令會建立 PKCS #10 檔案。 PKCS #10 是由 RFC 2314 指定的認證要求語法標準。 如需詳細資訊,請參閱 PKCS #10:憑證要求語法。

    一般而言,如果您需要將憑證要求重新提交給憑證授權單位,您會匯出憑證要求。 您無法在另一部伺服器上匯入已匯出的憑證要求。

您必須已獲指派權限,才能執行此指令程式。 雖然本文列出 Cmdlet 的所有參數,但如果指派給您的權限中未包含某些參數,您可能無法存取這些參數。 若要尋找在組織中執行任何 Cmdlet 或參數所需的權限,請參閱 Find the permissions required to run any Exchange cmdlet。

範例

範例 1

Export-ExchangeCertificate -Thumbprint 5113ae0233a72fccb75b1d0198628675333d010e -FileName "C:\Data\HT cert.pfx" -BinaryEncoded -Password (Get-Credential).password

在 Exchange 2013 中,此範例會透過下列設定,將憑證從本機 Exchange 伺服器匯出至檔案:

  • 要匯出的憑證具有指紋值 5113ae0233a72fccb75b1d0198628675333d010e。
  • 匯出的憑證檔案是 DER 編碼 (二進位) ,而不是 Base64。
  • 出現提示時,請輸入密碼。
  • 憑證會匯出至檔案 C:\Data\HT cert.pfx。

注意:FileName 參數僅適用於 Exchange 2013。 若要在 Exchange 2016 或 Exchange 2019 中匯出憑證,請參閱範例 2。

範例 2

$bincert = Export-ExchangeCertificate -Thumbprint 5113ae0233a72fccb75b1d0198628675333d010e -BinaryEncoded -Password (Get-Credential).password

[System.IO.File]::WriteAllBytes('C:\Data\HT cert.pfx', $bincert.FileData)

此範例會匯出範例 1 中的相同憑證。 Exchange 2016 和 Exchange 2019 中需要此方法,因為無法使用 FileName 參數。

範例 3

Export-ExchangeCertificate -Thumbprint 72570529B260E556349F3403F5CF5819D19B3B58 -Server Mailbox01 -FileName "\\FileServer01\Data\Fabrikam.req"

在 Exchange 2013 中,此範例會透過下列設定將擱置中的憑證請求匯出至檔案:

  • 要匯出的憑證要求的指紋值為 72570529B260E556349F3403F5CF5819D19B3B58,且位於名為 Mailbox01 的 Exchange 伺服器上。
  • 匯出的憑證要求檔案是以 Base64 編碼,因此寫入至檔案的資訊也會顯示在螢幕上。
  • 憑證要求會匯出至檔案 \\FileServer01\Data\Fabrikam.req。

注意:FileName 參數僅適用於 Exchange 2013。 若要匯出 Exchange 2016 或 Exchange 2019 中擱置的憑證請求,請參閱範例 4。

範例 4

$txtcert = Export-ExchangeCertificate -Thumbprint 72570529B260E556349F3403F5CF5819D19B3B58 -Server Mailbox01

[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Fabrikam.req', [System.Text.Encoding]::Unicode.GetBytes($txtcert))

此範例會匯出範例 3 中相同的擱置憑證要求。 Exchange 2016 和 Exchange 2019 中需要此方法,因為無法使用 FileName 參數。

參數

-BinaryEncoded

適用項目:Exchange Server 2010、Exchange Server 2013、Exchange Server 2016、Exchange Server 2019、Exchange Server SE

BinaryEncoded 參數可使用可辨別編碼規則 (DER) 為匯出的憑證或憑證要求檔案編碼。 您不需要使用此參數指定值。

一般而言,您會在匯出憑證時使用這個參數,因為當您一併使用 Password 參數時,可以將憑證和其私密金鑰或信任鏈結儲存在一個二進位檔案中。 如果不使用此參數,則匯出的憑證檔案會以 Base64 編碼,而且您必須分別匯出信任鏈中的任何中繼或根憑證。

參數屬性

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

參數集

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

-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-* 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、Exchange Server SE

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

-FileName

適用:Exchange Server 2013

注意:此參數已於 2022 H1 累積匯報中從 Exchange 2016 和 Exchange 2019 中移除,因為它接受 UNC 路徑值。 若要在不使用 FileName 參數的情況下將憑證或憑證要求匯出至檔案,請使用範例 2 和範例 4 中所述的方法。

此參數僅適用於 Exchange 2013。

FileName 參數可指定匯出之憑證或憑證要求檔案的名稱與路徑。 如果憑證或憑證要求位於執行命令的同一 Exchange 伺服器上,則可以使用本機路徑。 否則,請使用 UNC 路徑 (\\Server\Share) 。 如果值包含空格,請使用引號 (") 括住值。

參數屬性

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

參數集

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

-Identity

適用項目:Exchange Server 2013、Exchange Server 2016、Exchange Server 2019、Exchange Server SE

Identity 參數可指定您要匯出的憑證或憑證要求。 有效值為:

  • ServerNameOrFQDN\Thumbprint
  • Thumbprint

您可以使用 Get-ExchangeCertificate Cmdlet 來尋找指紋值。

這個參數不能與 Server 參數搭配使用。

Thumbprint 參數 (而 Identity 參數) 是此 Cmdlet 的位置參數。 因此,當您指定指紋值本身時,指令會針對 Thumbprint 參數使用該值。

參數屬性

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

參數集

Identity
Position:1
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值: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

-Server

適用項目:Exchange Server 2010、Exchange Server 2013、Exchange Server 2016、Exchange Server 2019、Exchange Server SE

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

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

Exchange Legacy DN

您無法搭配 Identity 參數使用此參數,但是您可以搭配 Thumbprint參數使用它。

參數屬性

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

參數集

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

-Thumbprint

適用項目:Exchange Server 2010、Exchange Server 2013、Exchange Server 2016、Exchange Server 2019、Exchange Server SE

Thumbprint 參數可指定您要匯出的憑證或憑證要求。 您可以使用 Get-ExchangeCertificate Cmdlet 來尋找指紋值。

Thumbprint 參數 (而 Identity 參數) 是此 Cmdlet 的位置參數。 因此,當您指定指紋值本身時,指令會針對 Thumbprint 參數使用該值。

參數屬性

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

參數集

Thumbprint
Position:1
必要:True
來自管線的值:True
來自管線按屬性名稱的值:True
來自剩餘引數的值: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

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

輸出

Output types

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