Unprotect-CmsMessage
Descriptografa o conteúdo que foi criptografado usando o formato sintaxe de mensagem criptográfica.
Sintaxe
ByWinEvent (Padrão)
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
O cmdlet Unprotect-CmsMessage descriptografa o conteúdo que foi criptografado usando o formato CMS (Sintaxe de Mensagem Criptográfica).
Os cmdlets do CMS dão suporte à criptografia e à descriptografia de conteúdo usando o formato padrão IETF para proteger mensagens criptograficamente, conforme documentado por RFC5652.
O padrão de criptografia cms usa criptografia de chave pública, onde as chaves usadas para criptografar conteúdo (a chave pública) e as chaves usadas para descriptografar conteúdo (a chave privada) são separadas. Sua chave pública pode ser amplamente compartilhada e não é dados confidenciais. Se qualquer conteúdo for criptografado com essa chave pública, somente sua chave privada poderá descriptografá-la. Para obter mais informações, consulte criptografia de chave pública.
Unprotect-CmsMessage descriptografa o conteúdo que foi criptografado no formato CMS. Você pode executar esse cmdlet para descriptografar o conteúdo criptografado executando o cmdlet Protect-CmsMessage. Você pode especificar o conteúdo que deseja descriptografar como uma cadeia de caracteres, pelo número da ID do registro do log de eventos de criptografia ou pelo caminho para o conteúdo criptografado. O cmdlet Unprotect-CmsMessage retorna o conteúdo descriptografado.
O suporte para Linux e macOS foi adicionado ao PowerShell 7.1.
Exemplos
Exemplo 1: Descriptografar uma mensagem
No exemplo a seguir, você descriptografa o conteúdo que está localizado no caminho literal C:\Users\Test\Documents\PowerShell. Para o valor necessário dos parâmetros e, este exemplo utiliza o identificador digital do certificado que foi utilizado para realizar a criptografia. A mensagem descriptografada, "Experimente o novo comando Interromper Tudo", é o resultado.
$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
Exemplo 2: Descriptografar uma mensagem de log de eventos criptografada
O exemplo a seguir obtém um evento criptografado do log de eventos do PowerShell e o descriptografa usando Unprotect-CmsMessage.
$event = Get-WinEvent Microsoft-Windows-PowerShell/Operational -MaxEvents 1 |
Where-Object Id -EQ 4104
Unprotect-CmsMessage -EventLogRecord $event
Exemplo 3: Descriptografar mensagens de log de eventos criptografadas usando o pipeline
O exemplo a seguir obtém todos os eventos criptografados do log de eventos do PowerShell e os descriptografa usando Unprotect-CmsMessage.
Get-WinEvent Microsoft-Windows-PowerShell/Operational |
Where-Object Id -EQ 4104 |
Unprotect-CmsMessage
Parâmetros
-Content
Especifica uma cadeia de caracteres criptografada ou uma variável que contém uma cadeia de caracteres criptografada.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
ByContent
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-EventLogRecord
Especifica um registro de log de eventos que contém uma mensagem criptografada CMS.
Propriedades do parâmetro
| Tipo: | PSObject |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
ByWinEvent
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-IncludeContext
Determina se o conteúdo descriptografado deve ser incluído em seu contexto original, em vez de gerar apenas o conteúdo descriptografado.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-LiteralPath
Especifica o caminho para o conteúdo criptografado que você deseja descriptografar. Diferente de Path, o valor de LiteralPath é usado exatamente como é digitado. Nenhum caractere é interpretado como caractere curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. Aspas simples indicam ao PowerShell que não deve interpretar nenhum caractere como uma sequência de escape.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
ByLiteralPath
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Path
Especifica o caminho para o conteúdo criptografado que você deseja descriptografar.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
ByPath
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-To
Especifica um ou mais destinatários de mensagens CMS, identificados em qualquer um dos seguintes formatos:
- Um certificado real (conforme recuperado do provedor de certificados).
- Caminho para um arquivo que contém o certificado.
- Caminho para um diretório que contém o certificado.
- Impressão digital do certificado (usada para procurar no armazenamento de certificados).
- Nome da entidade do certificado (usado para pesquisar no repositório de certificados).
Propriedades do parâmetro
| Tipo: | |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | 1 |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
EventLogRecord
String
Você pode canalizar um objeto que contém conteúdo criptografado para este cmdlet.
Saídas
String
Esse cmdlet retorna a mensagem não criptografada.