【问题标题】:Powershell asking for confirmation before executing the code in allsigned execution modePowershell 在以 allsigned 执行模式执行代码之前要求确认
【发布时间】:2013-09-08 05:23:24
【问题描述】:

我们已经购买了 Thawte 代码签名证书,并且能够使用该证书对脚本进行签名。在所有签名执行策略模式下,powershell 在运行代码之前仍会要求服务器确认。我需要在许多服务器上按计划作业运行此代码,并且想知道他们是否有任何解决方法。

在我的搜索中,似乎证书需要在受信任的发布者中才能执行脚本。我找不到任何可以在远程服务器上的 TrustedPublisher 中放置证书的脚本。

感谢您提供的所有帮助。

【问题讨论】:

    标签: powershell certificate code-signing


    【解决方案1】:

    PS C:\>help about_Execution_Policies 轻松找到的有关执行策略的 PowerShell 帮助显示,在 AllSigned 模式下,它会在运行来自您尚未归类为受信任或不受信任的发布者的脚本之前提示您。你可以试试 RemoteSigned 或者试试这个 Scott Hanselman http://www.hanselman.com/blog/SigningPowerShellScripts.aspx

    签名的脚本可以通过导出(从原始 计算机)并导入(到新计算机)Powershell 在受信任的根证书颁发机构中找到的证书 容器。或者,也可以将受信任的发布者移动到 防止第一次提示。

    关于博客的最后说明

    请注意,Powershell 会在第一次运行时提示您,除非 您还可以导入 Trusted Publishers 证书。

    【讨论】:

    • 非常感谢您的回答,但问题仍然存在。我有大约 100 台服务器,第一次在每台服务器上手动运行脚本或导入证书将非常耗时。我正在考虑的唯一解决方案是提出批处理脚本来导入证书并在所有服务器上远程安排脚本
    • @user984201 您可以通过组策略部署证书。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多