共用方式為


Get-CmsMessage

取得已使用密碼編譯訊息語法格式加密的內容。

語法

ByContent

Get-CmsMessage
    [-Content] <String>
    [<CommonParameters>]

ByPath

Get-CmsMessage
    [-Path] <String>
    [<CommonParameters>]

ByLiteralPath

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 來解密內容,前提是您有用來加密內容的檔加密憑證相關信息。

範例

範例 1:取得加密的內容

PS C:\> Get-CmsMessage -Path "C:\Users\Test\Documents\PowerShell ISE\Future_Plans.txt"
-----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\ISE\Future_Plans.txt的加密內容。

範例 2:使用管線將加密的內容傳送至 Unprotect-CmsMessage

PS C:\> $Msg = Get-CmsMessage -Path "C:\Users\Test\Documents\PowerShell ISE\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
預設值:None
支援萬用字元:False
不要顯示:False

參數集

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

-LiteralPath

指定您想要取得之加密內容的路徑。 不同於 PathLiteralPath 的值則完全按照輸入時的方式使用。 不會將任何字元解譯為通配符。 如果路徑包含逸出字元,請以單引弧括住每個字元。 單引號會告知 Windows PowerShell 不要將括住的字元解譯為逸出字元。

參數屬性

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

參數集

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

-Path

指定要解密之加密內容的路徑。

參數屬性

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

參數集

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

CommonParameters

此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters