Unprotect-CmsMessage
Déchiffre le contenu qui a été chiffré à l’aide du format syntaxe des messages de chiffrement.
Syntaxe
ByWinEvent (Par défaut)
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
L’applet de commande Unprotect-CmsMessage 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 un contenu est chiffré avec cette clé publique, seule votre clé privée peut la déchiffrer. Pour plus d’informations, consultez chiffrement à clé publique.
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 chiffré en exécutant l’applet de commande Protect-CmsMessage. 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 de commande Unprotect-CmsMessage 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 littéral C:\Users\Test\Documents\PowerShell. Pour la valeur de l'obligatoire À paramètre, 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 de Unprotect-CmsMessage.
$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 de Unprotect-CmsMessage.
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.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByContent
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-EventLogRecord
Spécifie un enregistrement du journal des événements qui contient un message chiffré CMS.
Propriétés du paramètre
| Type: | PSObject |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByWinEvent
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-IncludeContext
Détermine s’il faut inclure le contenu déchiffré dans son contexte d’origine, plutôt que de générer le contenu déchiffré uniquement.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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 il est typé. 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.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByLiteralPath
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Path
Spécifie le chemin d’accès au contenu chiffré que vous souhaitez déchiffrer.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByPath
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-To
Spécifie un ou plusieurs destinataires de message CMS, identifiés dans l’un des formats suivants :
- Certificat réel (tel qu’il est 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).
Propriétés du paramètre
| Type: | |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | 1 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
CommonParameters
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
Entrées
EventLogRecord
String
Vous pouvez diriger un objet contenant du contenu chiffré vers cette applet de commande.
Sorties
String
Cette applet de commande retourne le message non chiffré.