我似乎无法让我的脚本登录 PowerShell。我在我的机器上安装了一个有效的代码签名证书并运行以下命令。有什么建议?
PS C:\Users\u00\bin> $cert = @(Get-ChildItem cert:\CurrentUser\My -codesigning)[0]
PS C:\Users\u00\bin> $cert | fl
Subject : E=operations@contoso.com, CN=contoso , OU=Operations, O=contoso,
L=Mayberry, S=Florida, C=US
Issuer : CN=contoso Intermediate CA1, DC=contoso, DC=com
Thumbprint : XXXXXXXXXXXXXXXXXXXXX
FriendlyName : contoso
NotBefore : 7/20/2010 12:58:55 AM
NotAfter : 7/20/2011 12:58:55 AM
Extensions : {System.Security.Cryptography.Oid, System.Security.Cryptography.Oid, System.Security.Cryptography.Oi
ystem.Security.Cryptography.Oid...}
PS C:\Users\u00\bin> Set-AuthenticodeSignature .\testsign.ps1 -Certificate $cert
Directory: C:\Users\u00\bin
SignerCertificate Status Path
----------------- ------ ----
UnknownError testsign.ps1
PS C:\Users\u00\bin> Get-AuthenticodeSignature .\testsign.ps1
Directory: C:\Users\u00\bin
SignerCertificate Status Path
----------------- ------ ----
NotSigned testsign.ps1
Run Code Online (Sandbox Code Playgroud)
弄清楚了。该脚本文件是使用 PowerShell ISE 创建的,显然您无法对在 PowerShell ISE 中创建的脚本进行签名,或者更准确地说,您无法对 Unicode Big Endian 编码文件进行签名,这是 ISE 的默认设置。有解决方法可以更改链接中记录的默认编码。
最初由查德·米勒添加到问题中。将他的更新重新定位到答案,以便该问题不再显示为未回答。
| 归档时间: |
|
| 查看次数: |
3201 次 |
| 最近记录: |