Unprotect-CmsMessage
Déchiffre le contenu qui a été chiffré à l’aide du format syntaxe des messages de chiffrement.
Syntaxe
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é à l’aide du 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 protéger les messages par chiffrement, 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 largement 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 en tant que chaîne, par le numéro d’ID d’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 situé 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 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 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 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-EventLogRecord
Spécifie un enregistrement du journal des événements qui contient un message chiffré CMS.
Type: | PSObject |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-IncludeContext
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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 comme elle est typé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 séquences d’échappement.
Type: | String |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Path
Spécifie le chemin d’accès au contenu chiffré que vous souhaitez déchiffrer.
Type: | String |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-To
Spécifie un ou plusieurs destinataires de message CMS, identifiés dans l’un des formats suivants :
- Certificat réel (tel que 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 du sujet du certificat (utilisé pour rechercher dans le magasin de certificats).
Type: | CmsMessageRecipient[] |
Position: | 1 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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é.