我正在使用Windows 7
,并希望从Powershell
运行已签名的脚本,Powershell的security-settings
设置为"all-signed"
,我的脚本使用{ {1}}来自我的公司。我还将valid certificate
添加到我的本地证书商店.pfx-file
。
但是,当我启动已签名的脚本时,我会收到一条消息:
(right-clicked the pfx-file and installed)
由于我想在我的系统上自动调用这些脚本,我想将我导入的证书添加到我系统上的可信列表中,这样我第一次运行签名脚本时就不再收到消息了。如何使我的证书成为值得信赖的证书?
答案 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以签署证书。