Tìm kiếm trang web

Get-CmsMessage (Microsoft.PowerShell.Security)


Get-CmsMessage

Mô-đun:
Microsoft.PowerShell.Security

Nhận nội dung đã được mã hóa bằng cách sử dụng định dạng Cú pháp tin nhắn mật mã.

Cú pháp

Get-CmsMessage
   [-Content] <String>
   [<CommonParameters>]
Get-CmsMessage
   [-Path] <String>
   [<CommonParameters>]
Get-CmsMessage
   [-LiteralPath] <String>
   [<CommonParameters>]

Sự miêu tả

Lệnh ghép ngắn Get-CmsMessage nhận nội dung đã được mã hóa bằng định dạng Cú pháp thông báo mật mã (CMS).

Lệnh ghép ngắn CMS hỗ trợ mã hóa và giải mã nội dung bằng định dạng IETF cho các tin nhắn bảo vệ bằng mật mã, như được ghi lại bởi RFC5652.

Tiêu chuẩn mã hóa CMS sử dụng mật mã khóa chung, trong đó các khóa dùng để mã hóa nội dung (khóa chung) và khóa dùng để giải mã nội dung (khóa riêng) là riêng biệt. Khóa công khai của bạn có thể được chia sẻ rộng rãi và không phải là dữ liệu nhạy cảm. Nếu bất kỳ nội dung nào được mã hóa bằng khóa chung này thì chỉ có khóa riêng của bạn mới có thể giải mã được nội dung đó. Để biết thêm thông tin, hãy xem Mật mã khóa công khai.

Get-CmsMessage lấy nội dung đã được mã hóa ở định dạng CMS. Nó không giải mã hoặc bỏ bảo vệ nội dung. Bạn có thể chạy lệnh ghép ngắn này để lấy nội dung mà bạn đã mã hóa bằng cách chạy lệnh ghép ngắn Protect-CmsMessage. Bạn có thể chỉ định nội dung mà bạn muốn giải mã dưới dạng chuỗi hoặc theo đường dẫn đến nội dung được mã hóa. Bạn có thể chuyển kết quả của Get-CmsMessage sang Unprotect-CmsMessage để giải mã nội dung, miễn là bạn có thông tin về chứng chỉ mã hóa tài liệu được sử dụng để mã hóa nội dung.

Hỗ trợ cho Linux và macOS đã được thêm vào PowerShell 7.1.

Ví dụ

Ví dụ 1: Lấy nội dung được mã hóa

$Msg = Get-CmsMessage -Path "C:\Users\Test\Documents\PowerShell\Future_Plans.txt"
$Msg.Content

-----BEGIN CMS-----
MIIBqAYJKoZIhvcNAQcDoIIBmTCCAZUCAQAxggFQMIIBTAIBADA0MCAxHjAcBgNVBAMBFWxlZWhv
bG1AbGljcm9zb2Z0LmNvbQIQQYHsbcXnjIJCtH+OhGmc1DANBgkqhkiG9w0BAQcwAASCAQAnkFHM
proJnFy4geFGfyNmxH3yeoPvwEYzdnsoVqqDPAd8D3wao77z7OhJEXwz9GeFLnxD6djKV/tF4PxR
E27aduKSLbnxfpf/sepZ4fUkuGibnwWFrxGE3B1G26MCenHWjYQiqv+Nq32Gc97qEAERrhLv6S4R
G+2dJEnesW8A+z9QPo+DwYP5FzD0Td0ExrkswVckpLNR6j17Yaags3ltNXmbdEXekhi6Psf2MLMP
TSO79lv2L0KeXFGuPOrdzPRwCkV0vNEqTEBeDnZGrjv/5766bM3GW34FXApod9u+VSFpBnqVOCBA
DVDraA6k+xwBt66cV84AHLkh0kT02SIHMDwGCSqGSIb3DQEHATAdBglghkgBZQMEASoEEJbJaiRl
KMnBoD1dkb/FzSWAEBaL8xkFwCu0e1AtDj7nSJc=
-----END CMS-----

Lệnh này lấy nội dung được mã hóa tại C:\Users\Test\Documents\PowerShell\Future_Plans.txt.

Ví dụ 2: Chuyển nội dung được mã hóa sang Unprotect-CmsMessage

$Msg = Get-CmsMessage -Path "C:\Users\Test\Documents\PowerShell\Future_Plans.txt"
$Msg | Unprotect-CmsMessage -To "cn=youralias@emailaddress.com"

Try the new Break All command

Lệnh này chuyển kết quả của lệnh ghép ngắn Get-CmsMessage từ Ví dụ 1 sang Unprotect-CmsMessage, để giải mã thư và đọc nó ở dạng văn bản thuần túy. Trong trường hợp này, giá trị của tham số To là giá trị của dòng Chủ đề của chứng chỉ mã hóa. Thông báo được giải mã, "Thử lệnh Break All mới" là kết quả.

Thông số

-Content

Chỉ định một chuỗi được mã hóa hoặc một biến chứa chuỗi được mã hóa.

Kiểu :

String

Chức vụ:

0

Giá trị mặc định:

None

Yêu cầu:

True

Chấp nhận đầu vào đường ống:

True

Chấp nhận ký tự đại diện:

False

-LiteralPath

Chỉ định đường dẫn đến nội dung được mã hóa mà bạn muốn lấy. Không giống như Path, giá trị của LiteralPath được sử dụng chính xác như được nhập. Không có ký tự nào được hiểu là ký tự đại diện. Nếu đường dẫn bao gồm các ký tự thoát, hãy đặt từng ký tự trong dấu ngoặc đơn. Dấu ngoặc đơn yêu cầu PowerShell không hiểu các ký tự kèm theo là ký tự thoát.

Kiểu :

String

Chức vụ:

1

Giá trị mặc định:

None

Yêu cầu:

True

Chấp nhận đầu vào đường ống:

False

Chấp nhận ký tự đại diện:

False

-Path

Chỉ định đường dẫn đến nội dung được mã hóa mà bạn muốn giải mã.

Kiểu :

String

Chức vụ:

1

Giá trị mặc định:

None

Yêu cầu:

True

Chấp nhận đầu vào đường ống:

False

Chấp nhận ký tự đại diện:

False

Bài viết liên quan