2011-04-18 66 views
6

有沒有方法使用PowerShell從我的商店刪除/卸載自簽名證書?從我的商店刪除自簽名證書

我試圖

Remove-Item cert:\LocalMachine\My\$thumb 

它沒有工作,我得到了一個異常說:「供應商不支持此操作」

我也試過

certmgr.msc /del /n "MyTestServer" /s MY 

它也不起作用

如何從商店卸載證書?

在此先感謝老天

回答

5

刪除,商品不符合證書,因爲證書DER-提供商是隻讀的,在PowerShell中工作。研究發現,信息here

$store = new-object system.security.cryptography.x509certificates.x509Store 'My','CurrentUser' 
$store.Open('ReadWrite') 
$certs = @(dir cert:\currentuser\my | ? { $_.Subject -like '*MyTestServer*' }) 
foreach ($cert in $certs) {$store.Remove($cert)} 
$store.close() 

我發現在評論中解決here。所以它沒有經過測試。

+0

非常感謝信息,它的作品:) – JeeZ 2011-04-19 05:13:00

+0

不客氣。 – Tom 2011-04-19 06:13:17

+1

從PowerShell 3.0開始,這種方法是次優的。查看下面的答案以獲得更好的解決方案。 – 2014-10-19 22:35:50

3

發現這篇文章,因爲remove-item不起作用。

這不正是 '真' 的PowerShell,但我用這個方法:

certutil -delstore my "5314bdfa0255be36e53e749d033" 

你可以通過證書指紋:\ LOCALMACHINE \我的或通過的certutil。在我的情況下,我有多個完全相同名稱的證書,所以我更喜歡上面的方法,因爲當我刪除一個證書時,它給了我一個特定的目標。

1

這會工作,以及在PowerShell中

要獲得thumbpeint DIR證書:\ LOCALMACHINE \我

要刪除指紋 德爾證書:\ LOCALMACHINE \我\指紋

0

隨着PS 3.0有一個更簡潔和慣用的方法:

Remove-Item -Path cert:\LocalMachine\My\{Thumbprint} -DeleteKey

查看TechNet的所有細節。