7

我正在使用Windows 7,并且想从 运行签名脚本Powershellsecurity-settingsPowershell 的设置为"all-signed",并且我的脚本是用valid certificate我公司的 a 签名的。我还添加了.pfx-file到我的本地证书存储(right-clicked the pfx-file and installed)

但是,当我启动签名脚本时,我会收到一条消息:

"Do you want to run software from this untrusted publisher?
File Z:\Powershell Signed Scripts\signed.ps1 is published by CN=[MyCompanyName] and is not trusted on your system. Only run scripts from
 trusted publishers.
[V] Never run  [D] Do not run  [R] Run once  [A] Always run  [?] Help
(default is "D"):"

由于我想在我的系统上自动调用这些脚本,我想将我导入的证书添加到我系统上的受信任列表中,这样当我第一次运行签名脚本时就不会再收到消息了。如何使我的证书成为受信任的证书?

4

2 回答 2

8

如何信任 Windows Powershell 中的证书

事实上,你可以在没有任何 mmc 的情况下做到这一点 :)

首先,检查您的个人证书的位置,例如“Power”:

Get-ChildItem -Recurse cert:\CurrentUser\ |where {$_ -Match "Power"} | Select PSParentPath,Subject,Issuer,HasPrivateKey |ft -AutoSize

(这个应该是空的:)

gci cert:\CurrentUser\TrustedPublisher

使用证书路径构建命令:

$cert = Get-ChildItem    Certificate::CurrentUser\My\ABLALAH

证书存储的下一步工作(这里我处理两个证书存储:用户和计算机

$store = New-Object System.Security.Cryptography.X509Certificates.X509Store "TrustedPublisher","LocalMachine"
$store.Open("ReadWrite")
$store.Add($cert)
$store.Close()

检查,你应该找到你的证书:

ls cert:\CurrentUser\TrustedPublisher
于 2014-01-08T16:43:43.047 回答
2

听起来您需要验证脚本是否已正确签名,并且您在正确的证书存储中安装了正确的证书。

使用Get-AuthenticodeSignaturecmdlet 获取有关已签名脚本的信息。

还可以查看Scott 的证书签名指南。

于 2012-01-11T14:26:00.937 回答