【问题标题】:signing PowerShell Scripts签署 PowerShell 脚本
【发布时间】:2011-04-06 23:50:49
【问题描述】:

我正在尝试签署我的 powershell 脚本,以便我可以毫无问题地执行它们。我在我的系统上创建了我的代码签名证书,并且可以从 PowerShell 中查看它。当我去签名时,我不断收到错误

PS C:\xxadmin> get-childitem cert:\CurrentUser\my -codesign


    Directory: Microsoft.PowerShell.Security\Certificate::CurrentUser\my


Thumbprint                                Subject
----------                                -------
6B43052FDE320530CD77B260CC9BD046B68D2351  CN=PowerShell User


PS C:\xxadmin>

尝试使用以下命令进行签名。

Set-AuthenticodeSignature C:\xxadmin\iisbackup.ps1 @ (get-childitem cert:\CurrentUser\My -codesigning) [0]

这是我得到的错误。

源文本中存在无法识别的标记。在 行:1 字符:52 + 设置验证码签名 C:\xxadmin\iisbackup.ps1

此外,一旦此脚本被签名,我是否需要在我想要执行脚本的每台机器上安装证书?

【问题讨论】:

    标签: powershell


    【解决方案1】:

    @ 必须紧挨着开口(。索引器[0] 和结束) 相同,例如:

    Set-AuthenticodeSignature C:\xxadmin\iisbackup.ps1 `
        @(get-childitem cert:\CurrentUser\My -codesigning)[0]
    

    关于您的其他问题,这取决于您使用的证书类型。如果它是自行生成的,那么是的,您需要将其复制到每台机器上。如果它是官方的 Verisign 类型证书,那么您不需要在其他机器上安装它。

    【讨论】:

    • 是的,它是一个自签名证书。我只是将其导出并导入到机器上吗?
    • 我对自签名证书不是很了解,但这就是我要开始的地方。 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-04
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 2022-11-11
    • 1970-01-01
    • 2018-03-25
    相关资源
    最近更新 更多