Dela via


Get-CmsMessage

Hämtar innehåll som har krypterats med hjälp av formatet kryptografisk meddelandesyntax.

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 IETF-formatet för kryptografiskt skydd av meddelanden, vilket dokumenteras av RFC5652.

CMS-krypteringsstandarden använder kryptering av offentliga nycklar, där nycklarna som används för att kryptera innehåll (den offentliga nyckeln) och nycklarna 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 endast 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 av 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äg till det krypterade innehållet. Du kan skicka resultatet 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 dirigerar resultatet av cmdleten Get-CmsMessage från exempel 1 till Unprotect-CmsMessage, fö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 med enkla citattecken. Enkla citattecken gör att PowerShell inte tolkar 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