2013-05-01 30 views
4

我們正在創建一個腳本來自動創建證書。我們能夠完成所有階段,但是當我們嘗試將證書導入商店時,我們遇到了問題。證書確實將安裝到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中的私鑰我可以手動刪除它,但爲什麼它不會被刪除,因爲如果我要手動導入證書,它會被刪除。

回答

2

嘗試運行:

certutil -repairstore WSUS "SerialNumber" 

凡 「的SerialNumber」 是導入證書的序列號。

+0

這工作,但你知道爲什麼修復需要運行?如果需要每次運行代碼,我將不得不找到一種方法來獲取證書的序列號,以便可以運行命令。 – JMeterX 2013-05-01 13:55:37

+0

這似乎不應該工作,但它確實......它從哪裏得到私鑰? – Lucas 2016-12-05 02:02:47