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: | |
| 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.