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\ThumbprintThumbprint
您可以使用 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
若要查看此指令程式可接受的傳回類型 (也就是所謂的輸出類型),請參閱指令程式輸入和輸出類型。 如果 [輸出類型] 欄位是空的,表示指令程式不會傳回資料。