如何在Windows Powershell中信任证书

时间:2012-01-11 06:37:41

标签: powershell certificate signed pfx trusted

我正在使用Windows 7,并希望从Powershell运行已签名的脚本,Powershell的security-settings设置为"all-signed",我的脚本使用{ {1}}来自我的公司。我还将valid certificate添加到我的本地证书商店.pfx-file

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

(right-clicked the pfx-file and installed)

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

2 个答案:

答案 0 :(得分:7)

  

如何在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

certificate store上的下一步工作(此处我在两个证书商店工作:用户和计算机

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

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

ls cert:\CurrentUser\TrustedPublisher

答案 1 :(得分:2)

听起来您需要验证脚本是否已正确签名,以及您是否在正确的证书库中安装了正确的证书。

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

另请查看Scott's guide以签署证书。