Dela via


Get-CmsMessage

Hämtar innehåll som har krypterats med hjälp av det kryptografiska meddelandesyntaxformatet.

Syntax

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

Description

Cmdleten Get-CmsMessage hämtar innehåll som har krypterats med hjälp av CMS-formatet (Cryptographic Message Syntax).

CMS-cmdletarna stöder kryptering och dekryptering av innehåll med hjälp av IETF-formatet för kryptografiskt skydd av meddelanden, vilket dokumenteras av RFC5652.

CMS-krypteringsstandarden använder kryptering med offentliga nycklar, där de nycklar som används för att kryptera innehåll (den offentliga nyckeln) och de nycklar som används för att dekryptera innehåll (den privata nyckeln) är separata. Din offentliga nyckel kan delas brett och är inte känsliga data. Om innehåll krypteras med den här offentliga nyckeln kan bara din privata nyckel dekryptera det. Mer information finns i Kryptografi med offentlig nyckel.

Get-CmsMessage hämtar innehåll som har krypterats i CMS-format. Det dekrypterar eller tar inte bort skyddet från innehåll. Du kan köra den här cmdleten för att hämta innehåll som du har krypterat genom att köra cmdleten Protect-CmsMessage . Du kan ange innehåll som du vill dekryptera som en sträng eller sökvägen till det krypterade innehållet. Du kan skicka resultaten av Get-CmsMessage till för Unprotect-CmsMessage att dekryptera innehållet, förutsatt att du har information om dokumentkrypteringscertifikatet som användes för att kryptera innehållet.

Stöd för Linux och macOS har lagts till i PowerShell 7.1.

Exempel

Exempel 1: Hämta krypterat innehåll

$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-----

Det här kommandot hämtar krypterat innehåll som finns på C:\Users\Test\Documents\PowerShell\Future_Plans.txt.

Exempel 2: Skicka krypterat innehåll till 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

Det här kommandot skickar resultatet av cmdleten Get-CmsMessage från exempel 1 till Unprotect-CmsMessageför att dekryptera meddelandet och läsa det i oformaterad text. I det här fallet är värdet för parametern Till värdet för krypteringscertifikatets ämnesrad. Det dekrypterade meddelandet "Prova det nya kommandot Bryt alla" är resultatet.

Parametrar

-Content

Anger en krypterad sträng eller en variabel som innehåller en krypterad sträng.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-LiteralPath

Anger sökvägen till krypterat innehåll som du vill hämta. Till skillnad från Path används värdet för LiteralPath exakt som det skrivs. Inga tecken tolkas som jokertecken. Om sökvägen innehåller escape-tecken omger du var och en inom enkla citattecken. Enkla citattecken instruerar PowerShell att inte tolka omslutna tecken som escape-tecken.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Path

Anger sökvägen till krypterat innehåll som du vill dekryptera.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False