当设置系统只接受经过证书签名的powershell脚本运行的策略,我们就需要给脚本进行签名;
(1)在CA中申请一个给代码签名的证书;(具体可在网上搜索方法)
(2)将证书导入到本地的操作系统中;(具体可在网上搜索方法)
证书导入后,可在证书管理台中见到;
(3)查看并测试当前的脚本运行策略;
A.查看当前Powershell脚本执行的策略为AllSigned;
B.运行一个测试的脚本,提示脚本没有经过签名,拒绝运行;
(4)使用"ls cert:\current\my”命令查看正式的Subject; (如果有不明白Cert:的意思可以参考“get-psdrive”命令)
(5)使用“$cert=ls cert:\current\my”命令将证书赋给变量$cert;
然后使用“set-authenticodeSignature .\test.ps1”命令给当前路径下的脚本test.ps1经行签名;
当见到Status是“Valid”,即表示签名成功;
(6)重复(3)的步骤;
A.查看当前的运行策略为AllSigned;
B.运行当前路径下的脚本,已经成功运行;
本文转自 bannerpei 51CTO博客,原文链接:http://blog.51cto.com/281816327/1409908,如需转载请自行联系原作者