📅  最后修改于: 2023-12-03 14:56:02.677000             🧑  作者: Mango
当您在尝试在当前系统上运行脚本时,可能会遇到类似以下错误信息:
没有数字签名.您无法在当前系统上运行此脚本 - Shell-Bash
这是因为在当前系统上启用了默认安全策略(disabled execution policy),该策略禁止运行未经数字签名的脚本。这样做是为了增加系统的安全性,防止在未知来源的脚本中隐藏恶意代码。
为该脚本提供数字签名,以保证在系统上运行时得到安全性的保障。
更改当前系统默认安全策略(disabled execution policy),以允许执行未经数字签名的脚本。此操作可能会降低系统的安全性,应慎重考虑。
打开PowerShell命令行终端,以管理员身份运行
输入以下命令更改执行策略:
Set-ExecutionPolicy RemoteSigned
该命令会将执行策略更改为RemoteSigned,这意味着允许运行当前电脑上的数字签名过的脚本,但在从网络或外部来源下载脚本时,必须进行数字签名后才能运行。
Get-ExecutionPolicy
执行完该命令后,如果该命令返回值为RemoteSigned,请继续尝试运行您的脚本。
数字签名可以证明代码的来源以及代码完整性,提高代码的可信度。
Set-AuthenticodeSignature -FilePath C:\script\test.ps1 -Certificate (Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert)
上述命令将对以下内容进行数字签名:
FilePath:脚本文件的位置
Certificate:数字证书,以执行数字签名
对脚本进行数字签名后,即可在当前系统上运行该脚本。