Unprotect-CmsMessage
Ontsleutelt inhoud die is versleuteld met behulp van de indeling Cryptografische berichtsyntaxis.
Syntaxis
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 IETF-standaardindeling voor het cryptografisch beveiligen van berichten, zoals beschreven door RFC5652.
De CMS-versleutelingsstandaard maakt gebruik van cryptografie van openbare sleutels, waarbij de sleutels die worden gebruikt voor het versleutelen van inhoud (de openbare sleutel) en de sleutels die worden gebruikt om inhoud (de persoonlijke sleutel) te ontsleutelen, gescheiden zijn. Uw openbare sleutel kan op grote schaal worden gedeeld en zijn geen gevoelige gegevens. Als inhoud met deze openbare sleutel is versleuteld, kan alleen uw persoonlijke sleutel deze ontsleutelen. Zie Openbare-sleutelcryptografie 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 cmdlet uit te Protect-CmsMessage
voeren. U kunt inhoud opgeven die u wilt ontsleutelen als een tekenreeks, op basis van het id-nummer van de versleutelingslogboekrecord of op 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 in het letterlijke pad C:\Users\Test\Documents\PowerShell
bevindt. Voor de waarde van de vereiste to-parameter gebruikt dit voorbeeld de vingerafdruk 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 ontsleutelt deze 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 opgehaald uit het PowerShell-gebeurtenislogboek en worden ze 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 met een versleutelde tekenreeks op.
Type: | String |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-EventLogRecord
Hiermee geeft u een gebeurtenislogboekrecord op die een versleuteld CMS-bericht bevat.
Type: | PSObject |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-IncludeContext
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-LiteralPath
Hiermee geeft u het pad naar versleutelde inhoud die u wilt ontsleutelen. In tegenstelling tot het pad wordt de waarde van LiteralPath precies gebruikt zoals deze is getypt. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escapetekens bevat, plaatst u het tussen enkele aanhalingstekens. Enkele aanhalingstekens geven PowerShell aan dat er geen tekens als escapereeksen moeten worden geïnterpreteerd.
Type: | String |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Path
Hiermee geeft u het pad naar versleutelde inhoud die u wilt ontsleutelen.
Type: | String |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-To
Hiermee geeft u een of meer CMS-berichtontvangers op, geïdentificeerd in een van de volgende indelingen:
- Een echt certificaat (zoals opgehaald van de certificaatprovider).
- Pad naar het bestand met het certificaat.
- Pad naar een map met het certificaat.
- Vingerafdruk van het certificaat (gebruikt om in het certificaatarchief te zoeken).
- Onderwerpnaam van het certificaat (wordt gebruikt om in het certificaatarchief te zoeken).
Type: | CmsMessageRecipient[] |
Position: | 1 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
U kunt een object met versleutelde inhoud doorsluisen naar deze cmdlet.
Uitvoerwaarden
Met deze cmdlet wordt het niet-versleutelde bericht geretourneerd.