Unprotect-CmsMessage
Dekrypterar innehåll som har krypterats med hjälp av formatet kryptografisk meddelandesyntax.
Syntax
ByWinEvent (Standard)
Unprotect-CmsMessage
[-EventLogRecord] <EventLogRecord>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
ByContent
Unprotect-CmsMessage
[-Content] <string>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
ByPath
Unprotect-CmsMessage
[-Path] <string>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
ByLiteralPath
Unprotect-CmsMessage
[-LiteralPath] <string>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
Description
Den Unprotect-CmsMessage cmdleten dekrypterar 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-standardformatet 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.
Unprotect-CmsMessage dekrypterar innehåll som har krypterats i CMS-format. Du kan köra den här cmdleten för att dekryptera 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, av ID-numret för krypteringshändelseloggposten eller sökvägen till det krypterade innehållet. Cmdleten Unprotect-CmsMessage returnerar det dekrypterade innehållet.
Stöd för Linux och macOS har lagts till i PowerShell 7.1.
Exempel
Exempel 1: Dekryptera ett meddelande
I följande exempel dekrypterar du innehåll som finns på den literala sökvägen C:\Users\Test\Documents\PowerShell. För värdet för den obligatoriska parametern Till använder det här exemplet tumavtrycket för certifikatet som användes för att utföra krypteringen. Det dekrypterade meddelandet "Prova det nya kommandot Bryt alla" är resultatet.
$parameters = @{
LiteralPath = "C:\Users\Test\Documents\PowerShell\Future_Plans.txt"
To = '0f 8j b1 ab e0 ce 35 1d 67 d2 f2 6f a2 d2 00 cl 22 z9 m9 85'
}
Unprotect-CmsMessage -LiteralPath @parameters
Try the new Break All command
Exempel 2: Dekryptera ett krypterat händelseloggmeddelande
I följande exempel hämtas en krypterad händelse från PowerShell-händelseloggen och dekrypteras med hjälp av Unprotect-CmsMessage.
$event = Get-WinEvent Microsoft-Windows-PowerShell/Operational -MaxEvents 1 |
Where-Object Id -EQ 4104
Unprotect-CmsMessage -EventLogRecord $event
Exempel 3: Dekryptera krypterade händelseloggmeddelanden med pipelinen
I följande exempel hämtas alla krypterade händelser från PowerShell-händelseloggen och dekrypteras med hjälp av Unprotect-CmsMessage.
Get-WinEvent Microsoft-Windows-PowerShell/Operational |
Where-Object Id -EQ 4104 |
Unprotect-CmsMessage
Parametrar
-Content
Anger en krypterad sträng eller en variabel som innehåller en krypterad sträng.
Parameteregenskaper
| Typ: | String |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
ByContent
| Position: | 0 |
| Obligatorisk: | True |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
-EventLogRecord
Anger en händelseloggpost som innehåller ett CMS-krypterat meddelande.
Parameteregenskaper
| Typ: | PSObject |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
ByWinEvent
| Position: | 0 |
| Obligatorisk: | True |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-IncludeContext
Avgör om det dekrypterade innehållet ska inkluderas i den ursprungliga kontexten i stället för att endast dekryptera det dekrypterade innehållet.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-LiteralPath
Anger sökvägen till krypterat innehåll som du vill dekryptera. Till skillnad från Pathanvänds värdet för LiteralPath precis som det skrivs. Inga tecken tolkas som jokertecken. Om sökvägen innehåller escape-tecken omger du den med enkla citattecken. Enkla citattecken gör att PowerShell inte tolkar några tecken som escape-sekvenser.
Parameteregenskaper
| Typ: | String |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
ByLiteralPath
| Position: | 0 |
| Obligatorisk: | True |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Path
Anger sökvägen till krypterat innehåll som du vill dekryptera.
Parameteregenskaper
| Typ: | String |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
ByPath
| Position: | 0 |
| Obligatorisk: | True |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-To
Anger en eller flera CMS-meddelandemottagare som identifieras i något av följande format:
- Ett faktiskt certifikat (som hämtats från certifikatprovidern).
- Sökväg till en fil som innehåller certifikatet.
- Sökväg till en katalog som innehåller certifikatet.
- Tumavtryck för certifikatet (används för att titta i certifikatarkivet).
- Certifikatets ämnesnamn (används för att titta i certifikatarkivet).
Parameteregenskaper
| Typ: | |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | 1 |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
CommonParameters
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.
Indata
EventLogRecord
String
Du kan skicka ett objekt som innehåller krypterat innehåll till den här cmdleten.
Utdata
String
Den här cmdleten returnerar det okrypterade meddelandet.