组策略 |
执行策略 |
允许单个命令,但不允许脚本,阻止运行 .ps1xml .psm1 所有脚本文件 |
Restricted(默认) |
允许所有脚本 |
Unrestricted |
允许本地脚本和远程签名的脚本 |
RemoteSigned |
仅允许签名脚本 |
AllSigned |
# 查看脚本策略
Get-ExecutionPolicy [-List]
# 设置AllSigned的安全脚本策略
Set-ExecutionPolicy "allsigned"
Set-ExecutionPolicy allsigned -Scope CurrentUser
2)部署证书
# 生成codesigningcert类型的数字签名
New-SelfSignedCertificate -Type 'CodeSigningCert' -DnsName 'nagisb ' -CertStoreLocation "Cert:\CurrentUser\"
# 回显生成的证书
Get-PSDrive; dir Cert: -Recurse -CodeSigningCert -DnsName nagisb
# 将数字签名传递给变量
dir Cert:\CurrentUser -Recurse -CodeSigningCert -OutVariable a
$cert=$a[0]
- certmgr.msc 证书管理器
- 将创建好的个人证书导入受信任的凭据
- 完成上述步骤后开始签署脚本
Set-AuthenticodeSignature -Certificate $cert -FilePath .\Test.ps1