如何使用powershell导入证书

问题描述:

我们正在创建一个脚本来自动创建证书。我们能够完成所有阶段,但是当我们尝试将证书导入商店时,我们遇到了问题。证书确实将安装到WSUS -> Certificate Store中,但私钥没有关联。如果我们手动执行它,它工作得很好。如何使用powershell导入证书

下面的代码表示的证书导入到店部分:

$cert = new-object system.security.cryptography.x509certificates.x509certificate2 c:\lup.crt 
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store WSUS, LocalMachine 
$store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite) 
$store.Add($cert) 
$store.Close() 

我仍然PowerShell中的学习曲线和加入证书上作出了这一困难。 我在做什么错误,当证书被导入到wsus商店时,不允许私钥被关联?


UPDATE

所以我已经更新了我的代码什么Neossian曾建议和它的工作。但是,我注意到它不会删除Enrollment Requests中的私钥我可以手动删除它,但为什么它不会被删除,因为如果我要手动导入证书,它会被删除。

尝试运行:

certutil -repairstore WSUS "SerialNumber" 

凡 “的SerialNumber” 是导入证书的序列号。

+0

这工作,但你知道为什么修复需要运行?如果需要每次运行代码,我将不得不找到一种方法来获取证书的序列号,以便可以运行命令。 – JMeterX 2013-05-01 13:55:37

+0

这似乎不应该工作,但它确实......它从哪里得到私钥? – Lucas 2016-12-05 02:02:47