Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssl 正在从我的存储中删除自签名证书_Ssl_Powershell - Fatal编程技术网

Ssl 正在从我的存储中删除自签名证书

Ssl 正在从我的存储中删除自签名证书,ssl,powershell,Ssl,Powershell,有没有办法使用powershell从我的应用商店中删除/卸载自签名证书 我试过了 Remove-Item cert:\LocalMachine\My\$thumb 它不起作用,我收到一个异常,说“提供商不支持此操作” 我也试过了 certmgr.msc /del /n "MyTestServer" /s MY 它也不起作用 如何从存储中卸载证书 提前谢谢 Jeez这种方法似乎只适用于Powershell 2,因此已经过时了。 删除项不适用于证书,因为powershell中的der证书提供程

有没有办法使用powershell从我的应用商店中删除/卸载自签名证书

我试过了

Remove-Item cert:\LocalMachine\My\$thumb
它不起作用,我收到一个异常,说“提供商不支持此操作”

我也试过了

 certmgr.msc /del /n "MyTestServer" /s MY
它也不起作用

如何从存储中卸载证书

提前谢谢
Jeez

这种方法似乎只适用于Powershell 2,因此已经过时了。

删除项不适用于证书,因为powershell中的der证书提供程序是只读的。找到了那个信息


我在评论中找到了解决办法。因此它未经测试。

发现本文,因为删除项不起作用

这不是真正的powershell,但我使用以下方法:

certutil -delstore my "5314bdfa0255be36e53e749d033"

您可以通过cert:\LocalMachine\my或certutil获取指纹。在我的例子中,我有多个名称完全相同的证书,所以我更喜欢上面的方法,因为它在我删除证书时为我提供了一个特定的目标。

这在powershell中也会起作用

得到指纹 目录证书:\localmachine\my

删除指纹
del cert:\localmachine\my\thumbprint

对于PS 3.0,有一种更简洁、更惯用的方法:

删除项目-路径证书:\LocalMachine\My\{Thumbprint}-DeleteKey


有关所有详细信息,请参阅。

使用PS 3.0,如果要按subjectName删除

Get-ChildItem -Path Cert:\CurrentUser\My | where { $_.subject -eq "CN=MysubjectName" } | Remove-Item

意识到这是一个古老的线程,但由于我现在正在做同样的事情,我想我会发布。我需要以友好的名称从所有证书存储中删除

意识到这不是OP的答案,但可能会帮助某人


如果任何人需要,这对我有效
dir cert:-递归| Where Object{$\uuu.FriendlyName-像“*SOMENAME*”}|删除项

你设置了错误的证书存储

使用
$cert=Get ChildItem-Path“cert:\CurrentUser\My\THUMBPRINT”
而不是
cert:\LocalMachine\My\$thumb
您说证书是您的。因此,您的证书存储在
-Path“Cert:\CurrentUser\My\THUMBPRINT”
CurrentUser=您的用户帐户中,您无需将其更改为您的帐户名


br.

来自PowerShell 3.0和forward。这种方法是次优的。请参阅下面的答案以获得更好的解决方案。@JasonWeber是真的,但2011年JeeZ无法访问Powershell 3。
Get-ChildItem -Path Cert:\CurrentUser\My | where { $_.subject -eq "CN=MysubjectName" } | Remove-Item