Ký số tập lệnh trong Windows PowerShell

Đã hoàn thành

Khi bạn sử dụng tập lệnh Windows PowerShell trong môi trường sản xuất của mình, nên có một quy trình phê duyệt để xác minh rằng các tập lệnh đó đã được kiểm tra. Quá trình phê duyệt sẽ khác nhau tùy thuộc vào quy mô của tổ chức và cấp quan liêu, nhưng phải có một số quy trình phê duyệt.

Một cách để chính thức hóa quá trình phê duyệt cho các tập lệnh được sử dụng trong môi trường sản xuất là ký điện tử các tập lệnh và sử dụng chính sách thực hiện tập lệnh AllSigned lệnh. Khi bạn thực hiện chính sách này, bất kỳ tập lệnh sửa đổi nào cũng phải được cập nhật chữ ký số mới. Điều này ngăn người quản trị hoặc nhân viên khác thực hiện thay đổi script ngẫu nhiên. Ví dụ: nếu tổ chức của bạn có một tập hợp các tập lệnh được phê duyệt để quản lý người dùng Dịch vụ Miền Active Directory (AD DS), cấu hình này sẽ ngăn nhân viên bộ phận trợ giúp sửa đổi tập lệnh có chủ đích hoặc vô tình.

Để thêm chữ ký số vào script, bạn phải có chứng chỉ ký mã được tin cậy bởi tất cả các máy tính sẽ chạy script. Bạn có thể nhận được chứng chỉ ký mã đáng tin cậy từ một cơ quan chứng nhận công cộng. Bạn cũng có thể nhận chứng chỉ ký mã từ cơ quan cấp chứng chỉ nội bộ đáng tin cậy của máy tính.

Bạn thêm chữ ký số bằng cách sử dụng lệnh ghép ngắn Set-AuthenticodeSignature, như mã sau đây mô tả:

$cert =  Get-ChildItem -Path "Cert:\CurrentUser\My" -CodeSigningCert
Set-AuthenticodeSignature -FilePath "C:\Scripts\MyScript.ps1" -Certificate $cert