Unprotect-CmsMessage
Decrittografa il contenuto crittografato usando il formato Sintassi del messaggio crittografico.
Sintassi
ByWinEvent (impostazione predefinita).
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>]
Descrizione
Il cmdlet Unprotect-CmsMessage decrittografa il contenuto crittografato usando il formato CMS (Cryptographic Message Syntax).
I cmdlet CMS supportano la crittografia e la decrittografia del contenuto usando il formato standard IETF per la protezione crittografica dei messaggi, come documentato da RFC5652.
Lo standard di crittografia CMS usa la crittografia a chiave pubblica, in cui le chiavi usate per crittografare il contenuto (la chiave pubblica) e le chiavi usate per decrittografare il contenuto (la chiave privata) sono separate. La chiave pubblica può essere condivisa ampiamente e non è dati sensibili. Se un contenuto è crittografato con questa chiave pubblica, solo la chiave privata può decrittografarla. Per altre informazioni, vedere crittografia a chiave pubblica.
Unprotect-CmsMessage decrittografa il contenuto crittografato in formato CMS. È possibile eseguire questo cmdlet per decrittografare il contenuto crittografato eseguendo il cmdlet Protect-CmsMessage. È possibile specificare il contenuto che si desidera decrittografare come stringa, in base al numero ID del record del registro eventi di crittografia o al percorso del contenuto crittografato. Il cmdlet Unprotect-CmsMessage restituisce il contenuto decrittografato.
Il supporto per Linux e macOS è stato aggiunto in PowerShell 7.1.
Esempio
Esempio 1: Decrittografare un messaggio
Nell'esempio seguente si decrittografa il contenuto che si trova nel percorso esatto C:\Users\Test\Documents\PowerShell. Per il valore del parametro richiesto a, in questo esempio viene utilizzata l'impronta digitale del certificato usato per eseguire la crittografia. Il messaggio decrittografato "Prova il nuovo comando Interrompi tutto" è il risultato.
$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
Esempio 2: Decrittografare un messaggio del registro eventi crittografato
L'esempio seguente ottiene un evento crittografato dal registro eventi di PowerShell e lo decrittografa usando Unprotect-CmsMessage.
$event = Get-WinEvent Microsoft-Windows-PowerShell/Operational -MaxEvents 1 |
Where-Object Id -EQ 4104
Unprotect-CmsMessage -EventLogRecord $event
Esempio 3: Decrittografare i messaggi del registro eventi crittografati usando la pipeline
L'esempio seguente ottiene tutti gli eventi crittografati dal registro eventi di PowerShell e li decrittografa usando Unprotect-CmsMessage.
Get-WinEvent Microsoft-Windows-PowerShell/Operational |
Where-Object Id -EQ 4104 |
Unprotect-CmsMessage
Parametri
-Content
Specifica una stringa crittografata o una variabile contenente una stringa crittografata.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
ByContent
| Posizione: | 0 |
| Obbligatorio: | True |
| Valore dalla pipeline: | True |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-EventLogRecord
Specifica un record del registro eventi che contiene un messaggio crittografato CMS.
Proprietà dei parametri
| Tipo: | PSObject |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
ByWinEvent
| Posizione: | 0 |
| Obbligatorio: | True |
| Valore dalla pipeline: | True |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-IncludeContext
Determina se includere il contenuto decrittografato nel contesto originale, anziché restituire solo il contenuto decrittografato.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-LiteralPath
Specifica il percorso del contenuto crittografato da decrittografare. A differenza di Path, il valore di LiteralPath viene usato esattamente come viene digitato. Nessun carattere è interpretato come un carattere jolly. Se il percorso include caratteri di escape, racchiudilo tra virgolette singole. Le virgolette singole indicano a PowerShell di non interpretare alcun carattere come sequenze di escape.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
ByLiteralPath
| Posizione: | 0 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Path
Specifica il percorso del contenuto crittografato da decrittografare.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
ByPath
| Posizione: | 0 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-To
Specifica uno o più destinatari del messaggio CMS, identificati in uno dei formati seguenti:
- Un certificato effettivo (come recuperato dal provider di certificati).
- Percorso del file contenente il certificato.
- Percorso di una directory contenente il certificato.
- Impronta digitale del certificato (usata per cercare nell'archivio dei certificati).
- Nome del soggetto del certificato (usato per cercare nell'archivio dei certificati).
Proprietà dei parametri
| Tipo: | |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | 1 |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
Input
EventLogRecord
String
È possibile inviare tramite pipe un oggetto contenente contenuto crittografato a questo cmdlet.
Output
String
Questo cmdlet restituisce il messaggio non crittografato.