签署PowerShell脚本
问题描述:
我想签署我的PowerShell脚本,所以我可以执行它们没有问题。我有我的系统上创建的代码签名证书,并可以从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]
这是我得到的错误。
Unrecognized token in source text. At line:1 char:52 + Set-AuthenticodeSignature C:\xxadmin\iisbackup.ps1 <<<< @ (get-childitem cert:\CurrentUser\My -codesigning) [0] + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : UnrecognizedToken
此脚本签名后,我需要在每台机器上安装我想执行脚本的证书吗?
答
@
必须紧挨着开头(
。同为索引[0]
,截止)
例如为:
Set-AuthenticodeSignature C:\xxadmin\iisbackup.ps1 `
@(get-childitem cert:\CurrentUser\My -codesigning)[0]
关于你的另一个问题,它取决于一种证书的你使用。如果它是自我生成的,那么是的,你需要将它复制到每台机器上。如果它是Verisign的官方证书,那么你不需要在其他机器上安装它。
是的,它是一个自签名证书。 我只是将它导出并导入到机器中? – Travis 2010-09-01 20:27:05
我对自签名证书不是很了解,但那是我开始的地方。 :-) – 2010-09-01 20:40:55