ลงชื่อสคริปต์แบบดิจิทัลใน Windows PowerShell

เสร็จสมบูรณ์เมื่อ

เมื่อคุณใช้สคริปต์ Windows PowerShell ในสภาพแวดล้อมการผลิตของคุณ ควรมีกระบวนการอนุมัติเพื่อตรวจสอบว่าสคริปต์เหล่านั้นได้รับการทดสอบแล้ว กระบวนการอนุมัติจะแตกต่างกันขึ้นอยู่กับขนาดขององค์กรและระดับของระบบราชการ แต่ควรมีกระบวนการอนุมัติบางอย่าง

วิธีหนึ่งในการจัดตั้งกระบวนการอนุมัติสําหรับสคริปต์ที่ใช้ในสภาพแวดล้อมการผลิตคือการลงนามในสคริปต์แบบดิจิทัลและใช้นโยบาย AllSigned การดําเนินการสคริปต์ เมื่อคุณใช้นโยบายนี้ สคริปต์ที่ปรับเปลี่ยนแล้วจะต้องได้รับการปรับปรุงด้วยลายเซ็นดิจิทัลใหม่ การดําเนินการนี้จะป้องกันไม่ให้ผู้ดูแลระบบหรือพนักงานคนอื่น ๆ ทําการเปลี่ยนแปลงสคริปต์แบบสุ่ม ตัวอย่างเช่น ถ้าองค์กรของคุณมีชุดของสคริปต์ที่ได้รับการอนุมัติสําหรับการจัดการผู้ใช้ Active Directory Domain Services (AD DS) การกําหนดค่านี้จะป้องกันไม่ให้เจ้าหน้าที่ helpdesk ปรับเปลี่ยนสคริปต์ตามวัตถุประสงค์หรือโดยบังเอิญ

เมื่อต้องการเพิ่มลายเซ็นดิจิทัลลงในสคริปต์ คุณต้องมีใบรับรองการเซ็นรหัสที่คอมพิวเตอร์ทุกเครื่องที่จะเรียกใช้สคริปต์ คุณสามารถขอรับใบรับรองการลงนามโค้ดที่เชื่อถือได้จากผู้มีสิทธิ์ออกใบรับรองสาธารณะ คุณยังสามารถขอรับใบรับรองการลงนามโค้ดจากผู้มีสิทธิ์ออกใบรับรองภายในที่คอมพิวเตอร์เชื่อถือได้

คุณเพิ่มลายเซ็นดิจิทัลโดยใช้ Set-AuthenticodeSignature cmdlet ตามที่อธิบายไว้ในโค้ดต่อไปนี้:

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