Get-CmsMessage
取得已使用密碼編譯訊息語法格式加密的內容。
語法
Get-CmsMessage
[-Content] <String>
[<CommonParameters>]
Get-CmsMessage
[-Path] <String>
[<CommonParameters>]
Get-CmsMessage
[-LiteralPath] <String>
[<CommonParameters>]
Description
Get-CmsMessage
Cmdlet 會取得已使用密碼編譯訊息語法 (CMS) 格式加密的內容。
CMS Cmdlet 支援使用 IETF 格式加密和解密內容,以密碼編譯方式保護訊息,如 RFC5652所記載。
CMS 加密標準會使用公鑰密碼編譯,其中用來加密內容的密鑰(公鑰)和用來解密內容的金鑰(私鑰)是分開的。 您的公鑰可以廣泛共用,而且不是敏感數據。 如果有任何內容使用此公鑰加密,則只有您的私鑰才能解密。 如需詳細資訊,請參閱 公鑰密碼編譯。
Get-CmsMessage
取得以CMS格式加密的內容。 它不會解密或取消保護內容。 您可以執行此 Cmdlet,藉由執行 Protect-CmsMessage
Cmdlet 來取得您已加密的內容。 您可以指定要解密為字串的內容,或透過加密內容的路徑來指定。 您可以使用管線將 Get-CmsMessage
的結果傳送至 Unprotect-CmsMessage
來解密內容,前提是您有用來加密內容的檔加密憑證相關信息。
PowerShell 7.1 已新增 Linux 和 macOS 的支援。
範例
範例 1:取得加密的內容
$Msg = Get-CmsMessage -Path "C:\Users\Test\Documents\PowerShell\Future_Plans.txt"
$Msg.Content
-----BEGIN CMS-----
MIIBqAYJKoZIhvcNAQcDoIIBmTCCAZUCAQAxggFQMIIBTAIBADA0MCAxHjAcBgNVBAMBFWxlZWhv
bG1AbGljcm9zb2Z0LmNvbQIQQYHsbcXnjIJCtH+OhGmc1DANBgkqhkiG9w0BAQcwAASCAQAnkFHM
proJnFy4geFGfyNmxH3yeoPvwEYzdnsoVqqDPAd8D3wao77z7OhJEXwz9GeFLnxD6djKV/tF4PxR
E27aduKSLbnxfpf/sepZ4fUkuGibnwWFrxGE3B1G26MCenHWjYQiqv+Nq32Gc97qEAERrhLv6S4R
G+2dJEnesW8A+z9QPo+DwYP5FzD0Td0ExrkswVckpLNR6j17Yaags3ltNXmbdEXekhi6Psf2MLMP
TSO79lv2L0KeXFGuPOrdzPRwCkV0vNEqTEBeDnZGrjv/5766bM3GW34FXApod9u+VSFpBnqVOCBA
DVDraA6k+xwBt66cV84AHLkh0kT02SIHMDwGCSqGSIb3DQEHATAdBglghkgBZQMEASoEEJbJaiRl
KMnBoD1dkb/FzSWAEBaL8xkFwCu0e1AtDj7nSJc=
-----END CMS-----
此命令會取得位於 C:\Users\Test\Documents\PowerShell\Future_Plans.txt的加密內容。
範例 2:使用管線將加密的內容傳送至 Unprotect-CmsMessage
$Msg = Get-CmsMessage -Path "C:\Users\Test\Documents\PowerShell\Future_Plans.txt"
$Msg | Unprotect-CmsMessage -To "cn=youralias@emailaddress.com"
Try the new Break All command
此命令會使用管線將範例 1 Get-CmsMessage
Cmdlet 的結果傳送至 Unprotect-CmsMessage
,以解密訊息並以純文本讀取。 在此情況下,To 參數的值是加密憑證主體行的值。 解密的訊息「試用新的全部中斷命令」是結果。
參數
-Content
指定加密字串,或包含加密字串的變數。
類型: | String |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-LiteralPath
指定您想要取得之加密內容的路徑。 不同於 Path,LiteralPath 的值會與輸入時完全相同。 不會將任何字元解譯為通配符。 如果路徑包含逸出字元,請以單引弧括住每個字元。 單引號會告知 PowerShell 不要將括住的字元解譯為逸出字元。
類型: | String |
Position: | 1 |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-Path
指定要解密之加密內容的路徑。
類型: | String |
Position: | 1 |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |