Bagikan melalui


Unprotect-CmsMessage

Mendekripsi konten yang telah dienkripsi dengan menggunakan format Sintaks Pesan Kriptografi.

Sintaks

ByWinEvent (Default)

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>]

Deskripsi

cmdlet Unprotect-CmsMessage mendekripsi konten yang telah dienkripsi menggunakan format Sintaks Pesan Kriptografi (CMS).

Cmdlet CMS mendukung enkripsi dan dekripsi konten menggunakan format standar IETF untuk melindungi pesan secara kriptografis, seperti yang didokumentasikan oleh RFC5652.

Standar enkripsi CMS menggunakan kriptografi kunci publik, di mana kunci yang digunakan untuk mengenkripsi konten (kunci publik) dan kunci yang digunakan untuk mendekripsi konten (kunci privat) terpisah. Kunci publik Anda dapat dibagikan secara luas, dan bukan data sensitif. Jika ada konten yang dienkripsi dengan kunci publik ini, hanya kunci privat Anda yang dapat mendekripsinya. Untuk informasi selengkapnya, lihat kriptografi kunci publik.

Unprotect-CmsMessage mendekripsi konten yang telah dienkripsi dalam format CMS. Anda dapat menjalankan cmdlet ini untuk mendekripsi konten yang telah Anda enkripsi dengan menjalankan cmdlet Protect-CmsMessage. Anda dapat menentukan konten yang ingin Didekripsi sebagai string, dengan nomor ID rekaman log peristiwa enkripsi, atau berdasarkan jalur ke konten terenkripsi. Cmdlet Unprotect-CmsMessage mengembalikan konten yang didekripsi.

Dukungan untuk Linux dan macOS ditambahkan di PowerShell 7.1.

Contoh

Contoh 1: Mendekripsi pesan

Dalam contoh berikut, Anda mendekripsi konten yang terletak di jalur harfiah C:\Users\Test\Documents\PowerShell. Untuk nilai parameter To yang diperlukan, contoh ini menggunakan thumbprint sertifikat yang digunakan untuk melakukan enkripsi. Pesan yang didekripsi, "Coba perintah Break All baru," adalah hasilnya.

$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

Contoh 2: Mendekripsi pesan log peristiwa terenkripsi

Contoh berikut mendapatkan peristiwa terenkripsi dari log peristiwa PowerShell dan mendekripsinya menggunakan Unprotect-CmsMessage.

$event = Get-WinEvent Microsoft-Windows-PowerShell/Operational -MaxEvents 1 |
    Where-Object Id -EQ 4104
Unprotect-CmsMessage -EventLogRecord $event

Contoh 3: Mendekripsi pesan log peristiwa terenkripsi menggunakan alur

Contoh berikut mendapatkan semua peristiwa terenkripsi dari log peristiwa PowerShell dan mendekripsinya menggunakan Unprotect-CmsMessage.

Get-WinEvent Microsoft-Windows-PowerShell/Operational |
    Where-Object Id -EQ 4104 |
    Unprotect-CmsMessage

Parameter

-Content

Menentukan string terenkripsi, atau variabel yang berisi string terenkripsi.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

ByContent
Position:0
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-EventLogRecord

Menentukan catatan log peristiwa yang berisi pesan terenkripsi CMS.

Properti parameter

Jenis:PSObject
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

ByWinEvent
Position:0
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-IncludeContext

Menentukan apakah akan menyertakan konten yang didekripsi dalam konteks aslinya, daripada mengeluarkan konten yang didekripsi saja.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-LiteralPath

Menentukan jalur ke konten terenkripsi yang ingin Anda dekripsi. Tidak seperti Path, nilai LiteralPath digunakan persis seperti yang ditik. Tidak ada karakter yang ditafsirkan sebagai karakter pengganti. Jika jalur menyertakan karakter escape, bungkus jalur tersebut dalam tanda kutip tunggal. Tanda kutip tunggal memberi tahu PowerShell untuk tidak menginterpretasikan karakter apa pun sebagai urutan escape.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

ByLiteralPath
Position:0
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Path

Menentukan jalur ke konten terenkripsi yang ingin Anda dekripsi.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

ByPath
Position:0
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-To

Menentukan satu atau beberapa penerima pesan CMS, yang diidentifikasi dalam salah satu format berikut:

  • Sertifikat aktual (seperti yang diambil dari penyedia Sertifikat).
  • Jalur ke file yang berisi sertifikat.
  • Jalur ke direktori yang berisi sertifikat.
  • Thumbprint sertifikat (digunakan untuk mencari di penyimpanan sertifikat).
  • Nama subjek sertifikat (digunakan untuk melihat di penyimpanan sertifikat).

Properti parameter

Jenis:

CmsMessageRecipient[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:1
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

Input

EventLogRecord

String

Anda dapat menyalurkan objek yang berisi konten terenkripsi ke cmdlet ini.

Output

String

Cmdlet ini mengembalikan pesan yang tidak terenkripsi.