使用Makecert.exe创建受信任脚本
powershell本身是一个比较安全的命令行工具,默认情况是不允许执行脚本地
初始化powershell不能运行任何脚本 Set-ExecutionPolicy restricted
Set-ExecutionPolicy allsigned 允许执行受签名的脚本
Set-ExecutionPolicy Remotesigned 可运行本地的没有签名的脚本,但过程脚本,比如outlook,IE下载地则必须是受信任的
Set-ExecutionPolicy Unrestricted 可运行所有脚本,不论是否签名
1.下载makecert.exe放在系统文件夹中C:/WINDOWS/system32
2.执行如下命令创建受信任脚本:
makecert -n "CN=PowerShell Local certificate Root" -a sha1 -eku 1.3.6.1.5.5.7.3.3 -r -sv root.pvk root.cer -ss Root -sr localMachine
Makecert的参数
-n x509name 指定主题的证书名称.此名称必须符合X.500标准.最简单的方法是在双引号中指定此名称,并加上前缀CN=;如"CN=myName"
-a algorithm 指定签名算法.必须是md5(默认值)或sha1
-eku oid[,oid]将用逗号分隔的增强型密钥用法对象标识符(OID)列表插入到证书中。
-r 创建自签暑证书
-sv 指定主题的.pvk私钥文件.若该文件不存在,系统将创建一个
-ss store 指定主题的证书存储名称,输出证书即存储在那里
-sr location 指定证书的存储位置,location可以是currentuser(默认值)或localmachine
3.执行如下命令可查看帮助信息
Makecert -pe -n "CN=PowerShell User" -ss MY -a sha1 -eku 1.3.6.1.5.5.7.3.3 -iv root.pvk -ic root.cer
-pe 将所生成的私钥标记为可导出,这样可将私钥包括在证书中.
-iv 指定颁发者的.pvk私钥文件.
4.检索代码签名证书:$cert = @(Get-ChildItem cert:/CurrentUser/My -codesigning)[0]
5.签名文件 Set-AuthenticodeSignature d:/test.ps1 $cert
6.查看脚本中发生变化了
使用Makecert.exe创建受信任脚本
最新推荐文章于 2023-07-14 12:36:25 发布