Partager via


Get-CmsMessage

Obtient le contenu qui a été chiffré à l’aide du format de syntaxe de message de chiffrement.

Syntaxe

Get-CmsMessage
   [-Content] <String>
   [<CommonParameters>]
Get-CmsMessage
   [-Path] <String>
   [<CommonParameters>]
Get-CmsMessage
   [-LiteralPath] <String>
   [<CommonParameters>]

Description

L’applet de commande Get-CmsMessage obtient du contenu 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 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.

Get-CmsMessage obtient du contenu chiffré au format CMS. Il ne déchiffre pas ni ne supprime la protection du contenu. Vous pouvez exécuter cette applet de commande pour obtenir du 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 ou par chemin d’accès au contenu chiffré. Vous pouvez diriger les résultats de Get-CmsMessage vers Unprotect-CmsMessage pour déchiffrer le contenu, à condition que vous ayez des informations sur le certificat de chiffrement de document utilisé pour chiffrer le contenu.

La prise en charge de Linux et macOS a été ajoutée dans PowerShell 7.1.

Exemples

Exemple 1 : Obtenir du contenu chiffré

$Msg = Get-CmsMessage -Path "C:\Users\Test\Documents\PowerShell\Future_Plans.txt"
$Msg.Content

-----BEGIN CMS-----
MIIBqAYJKoZIhvcNAQcDoIIBmTCCAZUCAQAxggFQMIIBTAIBADA0MCAxHjAcBgNVBAMBFWxlZWhv
bG1AbGljcm9zb2Z0LmNvbQIQQYHsbcXnjIJCtH+OhGmc1DANBgkqhkiG9w0BAQcwAASCAQAnkFHM
proJnFy4geFGfyNmxH3yeoPvwEYzdnsoVqqDPAd8D3wao77z7OhJEXwz9GeFLnxD6djKV/tF4PxR
E27aduKSLbnxfpf/sepZ4fUkuGibnwWFrxGE3B1G26MCenHWjYQiqv+Nq32Gc97qEAERrhLv6S4R
G+2dJEnesW8A+z9QPo+DwYP5FzD0Td0ExrkswVckpLNR6j17Yaags3ltNXmbdEXekhi6Psf2MLMP
TSO79lv2L0KeXFGuPOrdzPRwCkV0vNEqTEBeDnZGrjv/5766bM3GW34FXApod9u+VSFpBnqVOCBA
DVDraA6k+xwBt66cV84AHLkh0kT02SIHMDwGCSqGSIb3DQEHATAdBglghkgBZQMEASoEEJbJaiRl
KMnBoD1dkb/FzSWAEBaL8xkFwCu0e1AtDj7nSJc=
-----END CMS-----

Cette commande obtient le contenu chiffré situé à C:\Users\Test\Documents\PowerShell\Future_Plans.txt.

Exemple 2 : Diriger le contenu chiffré vers Unprotect-CmsMessage

$Msg = Get-CmsMessage -Path "C:\Users\Test\Documents\PowerShell\Future_Plans.txt"
$Msg | Unprotect-CmsMessage -To "cn=youralias@emailaddress.com"

Try the new Break All command

Cette commande canalise les résultats de l’applet de commande Get-CmsMessage de l’exemple 1 à Unprotect-CmsMessage, pour déchiffrer le message et le lire en texte brut. Dans ce cas, la valeur du paramètre To est la valeur de la ligne Objet du certificat de chiffrement. Le message déchiffré , « Essayer la nouvelle commande Arrêter tout », est le résultat.

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

-LiteralPath

Spécifie le chemin d’accès au contenu chiffré que vous souhaitez obtenir. Contrairement à Path, la valeur de LiteralPath est utilisée exactement comme il est typé. Aucun caractère n’est interprété comme des caractères génériques. Si le chemin inclut des caractères d’échappement, placez chacun d’eux entre guillemets simples. Les guillemets simples indiquent à PowerShell de ne pas interpréter les caractères entourés comme des caractères d’échappement.

Type:String
Position:1
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:1
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False