Get-CmsMessage
Ruft Inhalte ab, die mithilfe des Formats der kryptografischen Nachrichtensyntax verschlüsselt wurden.
Syntax
ByContent
Get-CmsMessage
[-Content] <String>
[<CommonParameters>]
ByPath
Get-CmsMessage
[-Path] <String>
[<CommonParameters>]
ByLiteralPath
Get-CmsMessage
[-LiteralPath] <String>
[<CommonParameters>]
Beschreibung
Das Get-CmsMessage Cmdlet ruft Inhalte ab, die mithilfe des CMS-Formats (Cryptographic Message Syntax) verschlüsselt wurden.
Die CMS-Cmdlets unterstützen die Verschlüsselung und Entschlüsselung von Inhalten mithilfe des IETF-Formats zum kryptografischen Schutz von Nachrichten, wie von RFC5652 dokumentiert.
Der CMS-Verschlüsselungsstandard verwendet Kryptografie für öffentliche Schlüssel, bei denen die Schlüssel zum Verschlüsseln von Inhalten (dem öffentlichen Schlüssel) und die Schlüssel zum Entschlüsseln von Inhalten (dem privaten Schlüssel) getrennt sind. Ihr öffentlicher Schlüssel kann weit freigegeben werden und sind keine vertraulichen Daten. Wenn inhalte mit diesem öffentlichen Schlüssel verschlüsselt sind, kann nur Ihr privater Schlüssel sie entschlüsseln. Weitere Informationen finden Sie unter Public-Key-Kryptographie.
Get-CmsMessage ruft Inhalte ab, die im CMS-Format verschlüsselt wurden. Es entschlüsselt oder hebt den Schutz von Inhalten nicht auf. Sie können dieses Cmdlet ausführen, um Inhalte abzurufen, die Sie verschlüsselt haben, indem Sie das Protect-CmsMessage Cmdlet ausführen. Sie können Inhalte angeben, die Sie als Zeichenfolge entschlüsseln möchten, oder durch Pfad zu den verschlüsselten Inhalten. Sie können die Ergebnisse Get-CmsMessageUnprotect-CmsMessage an die Entschlüsselung des Inhalts weiterleitungen, vorausgesetzt, Sie verfügen über Informationen zum Dokumentverschlüsselungszertifikat, das zum Verschlüsseln des Inhalts verwendet wurde.
Unterstützung für Linux und macOS wurde in PowerShell 7.1 hinzugefügt.
Beispiele
Beispiel 1: Abrufen verschlüsselter Inhalte
$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-----
Dieser Befehl ruft verschlüsselte Inhalte ab, die sich in C:\Users\Test\Documents\PowerShell\Future_Plans.txtbefinden.
Beispiel 2: Weitergeleiteter verschlüsselter Inhalte an 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
Mit diesem Befehl werden die Ergebnisse des Get-CmsMessage Cmdlets aus Beispiel 1 in Unprotect-CmsMessage" weitergeleitet, um die Nachricht zu entschlüsseln und im Nur-Text-Text zu lesen. In diesem Fall ist der Wert des To-Parameters der Wert der Betreffzeile des verschlüsselnden Zertifikats. Die entschlüsselte Nachricht "Versuchen Sie den neuen Befehl "Alle aufheben", ist das Ergebnis.
Parameter
-Content
Gibt eine verschlüsselte Zeichenfolge oder eine Variable an, die eine verschlüsselte Zeichenfolge enthält.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByContent
| Position: | 0 |
| Obligatorisch.: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-LiteralPath
Gibt den Pfad zu verschlüsselten Inhalten an, die Sie abrufen möchten. Im Gegensatz zu Path wird der Wert von LiteralPath genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Wildcardzeichen interpretiert. Wenn der Pfad Escapezeichen enthält, schließen Sie die einzelnen Zeichen in einfache Anführungszeichen ein. Einfache Anführungszeichen weisen PowerShell an, eingeschlossene Zeichen nicht als Escapezeichen zu interpretieren.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByLiteralPath
| Position: | 1 |
| Obligatorisch.: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Path
Gibt den Pfad zu verschlüsselten Inhalten an, die Sie entschlüsseln möchten.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByPath
| Position: | 1 |
| Obligatorisch.: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.