上帝大脸 发表于 2018-9-2 14:24:14

使用证书对PowerShell脚本进行签名

  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.运行当前路径下的脚本,已经成功运行;

页: [1]
查看完整版本: 使用证书对PowerShell脚本进行签名