Unprotect-CmsMessage
Déchiffre le contenu qui a été chiffré à l’aide du format de syntaxe de message de chiffrement.
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
L’applet Unprotect-CmsMessage
de commande déchiffre le contenu qui a été chiffré au format CMS (Cryptographic Message Syntax).
Les applets de commande CMS prennent en charge le chiffrement et le déchiffrement du contenu à l’aide du format standard IETF pour la protection cryptographique des messages, comme documenté par RFC5652.
La norme de chiffrement CMS utilise le chiffrement à clé publique, où les clés utilisées pour chiffrer le contenu (la clé publique) et les clés utilisées pour déchiffrer le contenu (la clé privée) sont distinctes. Votre clé publique peut être partagée à grande échelle et n’est pas des données sensibles. Si du contenu est chiffré avec cette clé publique, seule votre clé privée peut le déchiffrer. Pour plus d’informations, consultez Cryptographie asymétrique.
Unprotect-CmsMessage
déchiffre le contenu qui a été chiffré au format CMS. Vous pouvez exécuter cette applet de commande pour déchiffrer le contenu que vous avez chiffré en exécutant l’applet de Protect-CmsMessage
commande. Vous pouvez spécifier le contenu que vous souhaitez déchiffrer sous forme de chaîne, par le numéro d’ID de l’enregistrement du journal des événements de chiffrement ou par chemin d’accès au contenu chiffré. L’applet Unprotect-CmsMessage
de commande retourne le contenu déchiffré.
La prise en charge de Linux et macOS a été ajoutée dans PowerShell 7.1.
Exemples
Exemple 1 : Déchiffrer un message
Dans l’exemple suivant, vous déchiffrez le contenu qui se trouve au niveau du chemin C:\Users\Test\Documents\PowerShell
littéral . Pour la valeur du paramètre To requis, cet exemple utilise l’empreinte numérique du certificat qui a été utilisé pour effectuer le chiffrement. Le message déchiffré, « Essayer la nouvelle commande Arrêter tout », est le résultat.
$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
Exemple 2 : Déchiffrer un message de journal des événements chiffré
L’exemple suivant obtient un événement chiffré à partir du journal des événements PowerShell et le déchiffre à l’aide Unprotect-CmsMessage
de .
$event = Get-WinEvent Microsoft-Windows-PowerShell/Operational -MaxEvents 1 |
Where-Object Id -eq 4104
Unprotect-CmsMessage -EventLogRecord $event
Exemple 3 : Déchiffrer les messages du journal des événements chiffrés à l’aide du pipeline
L’exemple suivant obtient tous les événements chiffrés à partir du journal des événements PowerShell et les déchiffre à l’aide Unprotect-CmsMessage
de .
Get-WinEvent Microsoft-Windows-PowerShell/Operational |
Where-Object Id -eq 4104 |
Unprotect-CmsMessage
Paramètres
-Content
Spécifie une chaîne chiffrée ou une variable contenant une chaîne chiffrée.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-EventLogRecord
Spécifie un enregistrement du journal des événements qui contient un message chiffré CMS.
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
Spécifie le chemin d’accès au contenu chiffré que vous souhaitez déchiffrer. Contrairement à Path, la valeur de LiteralPath est utilisée exactement au fur et à mesure qu’elle est tapée. Aucun caractère n'est interprété en tant que caractère générique. Si le chemin d’accès inclut des caractères d’échappement, mettez-le entre des guillemets simples. Les guillemets simples indiquent à PowerShell de ne pas interpréter de caractères comme des séquences d’échappement.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Spécifie le chemin d’accès au contenu chiffré que vous souhaitez déchiffrer.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-To
Spécifie un ou plusieurs destinataires de messages CMS, identifiés dans l’un des formats suivants :
- Un certificat réel (tel qu’il a été récupéré à partir du fournisseur de certificats).
- Chemin d’accès au fichier contenant le certificat.
- Chemin d’accès à un répertoire contenant le certificat.
- Empreinte numérique du certificat (utilisée pour rechercher dans le magasin de certificats).
- Nom de l’objet du certificat (utilisé pour rechercher dans le magasin de certificats).
Type: | CmsMessageRecipient[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entrées
Vous pouvez diriger un objet contenant du contenu chiffré vers cette applet de commande.
Sorties
Cette applet de commande retourne le message non chiffré.