天天看點

使用證書對PowerShell腳本進行簽名

當設定系統隻接受經過證書簽名的powershell腳本運作的政策,我們就需要給腳本進行簽名;

(1)在CA中申請一個給代碼簽名的證書;(具體可在網上搜尋方法)

<a href="http://281816327.blog.51cto.com/attachment/201405/12/907015_1399881419Oo3r.png" target="_blank"></a>

(2)将證書導入到本地的作業系統中;(具體可在網上搜尋方法)

證書導入後,可在證書管理台中見到;

<a href="http://281816327.blog.51cto.com/attachment/201405/12/907015_1399881423xHHe.png" target="_blank"></a>

(3)檢視并測試目前的腳本運作政策;

A.檢視目前Powershell腳本執行的政策為AllSigned;

B.運作一個測試的腳本,提示腳本沒有經過簽名,拒絕運作;

<a href="http://281816327.blog.51cto.com/attachment/201405/12/907015_1399881424KwNq.png" target="_blank"></a>

(4)使用"ls cert:\current\my”指令檢視正式的Subject; (如果有不明白Cert:的意思可以參考“get-psdrive”指令)

<a href="http://281816327.blog.51cto.com/attachment/201405/12/907015_1399881424nmoW.png" target="_blank"></a>

(5)使用“$cert=ls cert:\current\my”指令将證書賦給變量$cert;

然後使用“set-authenticodeSignature .\test.ps1”指令給目前路徑下的腳本test.ps1經行簽名;

當見到Status是“Valid”,即表示簽名成功;

<a href="http://281816327.blog.51cto.com/attachment/201405/12/907015_13998814258tQ8.png" target="_blank"></a>

(6)重複(3)的步驟;

A.檢視目前的運作政策為AllSigned;

B.運作目前路徑下的腳本,已經成功運作;

本文轉自 bannerpei 51CTO部落格,原文連結:http://blog.51cto.com/281816327/1409908,如需轉載請自行聯系原作者

繼續閱讀