首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >恢复PowerShell脚本的自签名证书

恢复PowerShell脚本的自签名证书
EN

Stack Overflow用户
提问于 2017-12-28 10:45:23
回答 1查看 278关注 0票数 0

我正在试验PowerShell和脚本签名。我已经创建了一个示例脚本。

代码语言:javascript
复制
Write-Host "hello, world"

我进一步创建了一个自签名证书,并将它(作为管理员)安装到可信的证书存储"TrustedPeople“中。然后我启动了执行策略

代码语言:javascript
复制
Set-ExecutionPolicy -scope process AllSigned

之后,脚本就不能再执行了。这是意料之中的。我在剧本上签了字:

代码语言:javascript
复制
Set-AuthenticodeSignature -FilePath .\hello.ps1 $cert

变量$cert仍然包含自签名证书.之后,当我启动脚本时,我收到了一条消息:

要从这个不受信任的出版商运行软件吗? 文件C:\temp\hello.ps1由CN=Ich发布,在您的系统中不受信任。只运行来自受信任的发布者的脚本。 V从不运行D;A总是运行帮助时不要运行R run (默认值为"D"):

由于PowerShell的本地化不好,我选择了错误的答案E

E Noch nie ausgeführt N Nicht ausführen M Einmal ausführen A Immer ausführen

在这种情况下,我不能再执行脚本了。删除和重新安装证书没有帮助。我怎样才能在这个错误之前恢复状态呢?

编辑:,当我在实验的时候,我可以删除证书并创建一个新的证书。但是,如果我分发了脚本和证书,而这个错误发生在另一台PC上,会发生什么呢?在这种情况下,清除证书不是一种选择。因此,我实际上恢复了证书。

EN

回答 1

Stack Overflow用户

发布于 2017-12-28 11:34:51

我想您的证书是自动添加到不受信任的证书中的。尝试从不受信任的证书存储区中删除证书,然后将证书添加到系统上的受信任列表中,以便在不被提示的情况下运行脚本。

How to trust a certificate in Windows Powershell

更新我可以在我的机器上重现这个问题。在选择[V] Never run之后,我无法再执行脚本了。原因是,我的有效证书被添加到我的用户帐户的不可信证书中。我可以通过做以下事情来解决我的问题。

  1. 打开Microsoft管理控制台(运行-> mmc)
  2. 在中添加证书管理器
    1. Ctrl + m
    2. 选择Certificates
    3. 单击Add >
    4. 选择My user account
    5. 单击Ok

  1. 导航到Untrusted Certificates
  2. 检查一下,如果你在那里找到你的证书
  3. 如果您找到它,请从不受信任的证书中删除它。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48006007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档