PowerShell对脚本的运行有较为严格的控制,见这篇文章:http://281816327.blog.51cto.com/907015/1367866
当设置系统只接受经过证书签名的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.运行当前路径下的脚本,已经成功运行;