Unprotect-CmsMessage

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

Sintaks

Unprotect-CmsMessage
         [-EventLogRecord] <EventLogRecord>
         [[-To] <CmsMessageRecipient[]>]
         [-IncludeContext]
         [<CommonParameters>]
Unprotect-CmsMessage
         [-Content] <string>
         [[-To] <CmsMessageRecipient[]>]
         [-IncludeContext]
         [<CommonParameters>]
Unprotect-CmsMessage
         [-Path] <string>
         [[-To] <CmsMessageRecipient[]>]
         [-IncludeContext]
         [<CommonParameters>]
Unprotect-CmsMessage
         [-LiteralPath] <string>
         [[-To] <CmsMessageRecipient[]>]
         [-IncludeContext]
         [<CommonParameters>]

Deskripsi

Unprotect-CmsMessage Cmdlet 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 Protect-CmsMessage cmdlet. Anda dapat menentukan konten yang ingin Didekripsi sebagai string, dengan nomor ID rekaman log peristiwa enkripsi, atau berdasarkan jalur ke konten terenkripsi. Unprotect-CmsMessage Cmdlet 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 C:\Users\Test\Documents\PowerShellharfiah . 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.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-EventLogRecord

Menentukan catatan log peristiwa yang berisi pesan terenkripsi CMS.

Type:PSObject
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-IncludeContext

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 kartubebas. Jika jalur menyertakan karakter escape, sertakan dalam tanda kutip tunggal. Tanda kutip tunggal memberi tahu PowerShell untuk tidak menginterpretasikan karakter apa pun sebagai urutan escape.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Path

Menentukan jalur ke konten terenkripsi yang ingin Anda dekripsi.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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).
Type:CmsMessageRecipient[]
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

EventLogRecord

String

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

Output

String

Cmdlet ini mengembalikan pesan yang tidak terenkripsi.