Unprotect-CmsMessage
Ontsleutelt inhoud die is versleuteld met behulp van de syntaxis van het cryptografische bericht.
Syntax
Unprotect-CmsMessage
[-EventLogRecord] <EventLogRecord>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
Unprotect-CmsMessage
[-Content] <string>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
Unprotect-CmsMessage
[-Path] <string>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
Unprotect-CmsMessage
[-LiteralPath] <string>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
Description
De Unprotect-CmsMessage
cmdlet ontsleutelt inhoud die is versleuteld met de CMS-indeling (Cryptographic Message Syntax).
De CMS-cmdlets ondersteunen versleuteling en ontsleuteling van inhoud met behulp van de standaardindeling IETF voor het cryptografisch beveiligen van berichten, zoals gedocumenteerd door RFC5652.
De CMS-versleutelingsstandaard maakt gebruik van openbare-sleutelcryptografie, waarbij de sleutels die worden gebruikt voor het versleutelen van inhoud (de openbare sleutel) en de sleutels voor het ontsleutelen van inhoud (de persoonlijke sleutel) gescheiden zijn. Uw openbare sleutel kan op grote schaal worden gedeeld en is geen gevoelige gegevens. Als inhoud is versleuteld met deze openbare sleutel, kan alleen uw persoonlijke sleutel deze ontsleutelen. Zie Cryptografie met openbare sleutels voor meer informatie.
Unprotect-CmsMessage
ontsleutelt inhoud die is versleuteld in CMS-indeling. U kunt deze cmdlet uitvoeren om inhoud te ontsleutelen die u hebt versleuteld door de Protect-CmsMessage
cmdlet uit te voeren. U kunt inhoud die u wilt ontsleutelen opgeven als een tekenreeks, op basis van het id-nummer van de logboekrecord voor de versleutelings gebeurtenis of per pad naar de versleutelde inhoud. De Unprotect-CmsMessage
cmdlet retourneert de ontsleutelde inhoud.
Ondersteuning voor Linux en macOS is toegevoegd in PowerShell 7.1.
Voorbeelden
Voorbeeld 1: een bericht ontsleutelen
In het volgende voorbeeld ontsleutelt u inhoud die zich op het letterlijke pad C:\Users\Test\Documents\PowerShell
bevindt. Voor de waarde van de vereiste parameter To wordt in dit voorbeeld de vingerafdruk gebruikt van het certificaat dat is gebruikt om de versleuteling uit te voeren. Het ontsleutelde bericht 'Probeer de nieuwe opdracht Alles verbreken' is het resultaat.
$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
Voorbeeld 2: een versleuteld gebeurtenislogboekbericht ontsleutelen
In het volgende voorbeeld wordt een versleutelde gebeurtenis opgehaald uit het PowerShell-gebeurtenislogboek en wordt deze ontsleuteld met behulp van Unprotect-CmsMessage
.
$event = Get-WinEvent Microsoft-Windows-PowerShell/Operational -MaxEvents 1 |
Where-Object Id -eq 4104
Unprotect-CmsMessage -EventLogRecord $event
Voorbeeld 3: versleutelde gebeurtenislogboekberichten ontsleutelen met behulp van de pijplijn
In het volgende voorbeeld worden alle versleutelde gebeurtenissen uit het PowerShell-gebeurtenislogboek opgehaald en ontsleuteld met behulp van Unprotect-CmsMessage
.
Get-WinEvent Microsoft-Windows-PowerShell/Operational |
Where-Object Id -eq 4104 |
Unprotect-CmsMessage
Parameters
-Content
Hiermee geeft u een versleutelde tekenreeks of een variabele die een versleutelde tekenreeks bevat.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-EventLogRecord
Hiermee geeft u een gebeurtenislogboekrecord die een cms-versleuteld bericht bevat.
Type: | PSObject |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IncludeContext
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LiteralPath
Hiermee geeft u het pad naar versleutelde inhoud dat u wilt ontsleutelen. In tegenstelling tot Path wordt de waarde van LiteralPath exact gebruikt zoals het wordt getypt. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escapetekens bevat, plaatst u het tussen enkele aanhalingstekens. Enkele aanhalingstekens vertellen PowerShell dat geen tekens als escape-reeksen worden geïnterpreteerd.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Hiermee geeft u het pad naar versleutelde inhoud dat u wilt ontsleutelen.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-To
Hiermee geeft u een of meer ontvangers van CMS-berichten op, geïdentificeerd in een van de volgende indelingen:
- Een werkelijk certificaat (zoals opgehaald van de certificaatprovider).
- Pad naar het bestand dat het certificaat bevat.
- Pad naar een map die het certificaat bevat.
- Vingerafdruk van het certificaat (gebruikt om te zoeken in het certificaatarchief).
- Onderwerpnaam van het certificaat (gebruikt om te zoeken in het certificaatarchief).
Type: | CmsMessageRecipient[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Invoerwaarden
U kunt een object met versleutelde inhoud doorsnijden naar deze cmdlet.
Uitvoerwaarden
Deze cmdlet retourneert het niet-versleutelde bericht.