Unprotect-CmsMessage
暗号化メッセージ構文形式を使用して暗号化されたコンテンツを復号化します。
構文
ByWinEvent (既定)
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>]
説明
Unprotect-CmsMessage
コマンドレットは、暗号化されたコンテンツを暗号化解除するために、暗号化メッセージ構文 (CMS) 形式を使用します。
CMS コマンドレットは、メッセージを暗号化で保護するための IETF 標準形式を使用したコンテンツの暗号化と暗号化解除をサポート RFC5652。
CMS 暗号化標準では公開キー暗号化が使用されます。ここで、コンテンツの暗号化に使用されるキー (公開キー) と、コンテンツの暗号化解除に使用されるキー (秘密キー) は別々です。 公開キーは広く共有でき、機密データではありません。 この公開キーを使用してコンテンツが暗号化されている場合、秘密キーのみが暗号化を解除できます。 詳細については、「公開キー暗号化 」を参照してください。
Unprotect-CmsMessage
は、CMS 形式で暗号化されたコンテンツを復号化します。 このコマンドレットを実行すると、Protect-CmsMessage
コマンドレットを実行して、暗号化したコンテンツの暗号化を解除できます。 暗号化解除するコンテンツを文字列として、暗号化イベント ログ レコード ID 番号、または暗号化されたコンテンツへのパスで指定できます。
Unprotect-CmsMessage
コマンドレットは、復号化されたコンテンツを返します。
Linux と macOS のサポートが PowerShell 7.1 で追加されました。
例
例 1: メッセージの暗号化を解除する
次の例では、リテラル パス C:\Users\Test\Documents\PowerShell
にあるコンテンツを復号化します。 この例では、必須の To パラメーターの値に対して、暗号化の実行に使用された証明書の拇印を使用します。 復号化されたメッセージ「新しい Break All コマンドを試してください」が結果です。
$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
例 2: 暗号化されたイベント ログ メッセージの暗号化を解除する
次の例では、PowerShell イベント ログから暗号化されたイベントを取得し、Unprotect-CmsMessage
を使用して暗号化を解除します。
$event = Get-WinEvent Microsoft-Windows-PowerShell/Operational -MaxEvents 1 |
Where-Object Id -EQ 4104
Unprotect-CmsMessage -EventLogRecord $event
例 3: パイプラインを使用して暗号化されたイベント ログ メッセージを復号化する
次の例では、PowerShell イベント ログから暗号化されたすべてのイベントを取得し、Unprotect-CmsMessage
を使用して暗号化を解除します。
Get-WinEvent Microsoft-Windows-PowerShell/Operational |
Where-Object Id -EQ 4104 |
Unprotect-CmsMessage
パラメーター
-Content
暗号化された文字列、または暗号化された文字列を含む変数を指定します。
パラメーターのプロパティ
型: | String |
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
ByContent
配置: | 0 |
必須: | True |
パイプラインからの値: | True |
プロパティ名別のパイプラインからの値: | True |
残りの引数からの値: | False |
-EventLogRecord
CMS で暗号化されたメッセージを含むイベント ログ レコードを指定します。
パラメーターのプロパティ
型: | PSObject |
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
ByWinEvent
配置: | 0 |
必須: | True |
パイプラインからの値: | True |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-IncludeContext
復号化されたコンテンツのみを出力するのではなく、復号化されたコンテンツを元のコンテキストに含めるかどうかを決定します。
パラメーターのプロパティ
型: | SwitchParameter |
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
(All)
配置: | Named |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-LiteralPath
暗号化を解除する暗号化されたコンテンツへのパスを指定します。 パスの場合とは異なり、LiteralPath の値は入力されたとおりに正確に使用されます。 ワイルドカード文字として解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 単一引用符は、エスケープ シーケンスとして文字を解釈しないように PowerShell に指示します。
パラメーターのプロパティ
型: | String |
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
ByLiteralPath
配置: | 0 |
必須: | True |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-Path
暗号化を解除する暗号化されたコンテンツへのパスを指定します。
パラメーターのプロパティ
型: | String |
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
ByPath
配置: | 0 |
必須: | True |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-To
次のいずれかの形式で識別される 1 つ以上の CMS メッセージ受信者を指定します。
- 実際の証明書 (証明書プロバイダーから取得)。
- 証明書を含むファイルへのパス。
- 証明書を含むディレクトリへのパス。
- 証明書の拇印 (証明書ストアの検索に使用されます)。
- 証明書のサブジェクト名 (証明書ストアの検索に使用されます)。
パラメーターのプロパティ
型: | |
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
(All)
配置: | 1 |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
CommonParameters
このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。
入力
EventLogRecord
String
暗号化されたコンテンツを含むオブジェクトをこのコマンドレットにパイプできます。
出力
String
このコマンドレットは、暗号化されていないメッセージを返します。