2011-04-18 14 views
6

¿Hay alguna forma de eliminar/desinstalar un certificado autofirmado de mi tienda mediante powershell?Eliminación de certificado autofirmado de mi tienda

me trataron

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

no funcionó, tengo una excepción diciendo "el proveedor no admite esta operación"

También probé

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

que no funcionaba bien

¿Cómo puedo desinstalar el certificado de la tienda?

Gracias de antemano Por Dios

Respuesta

5

Remove-artículo no trabaja con certificados porque der cert-proveedor es de sólo lectura en PowerShell. Encontró que la información 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() 

he encontrado la solución here en los comentarios. Por lo tanto, no está probado.

+0

Muchas gracias por la información, funciona :) – JeeZ

+0

De nada. – Tom

+1

De PowerShell 3.0 y reenviar este enfoque no es óptimo. Vea las respuestas a continuación para una mejor solución. –

3

Encontré este artículo porque remove-item no funcionaba.

Esto no es exactamente 'verdadero' PowerShell, pero yo uso este método:

certutil -delstore my "5314bdfa0255be36e53e749d033" 

Usted puede obtener a través de huella dactilar cert: \ LocalMachine \ mi oa través de certutil. En mi caso, tengo varios certificados con el mismo nombre, por lo que me gusta el método anterior más porque me da un objetivo específico cuando elimino un certificado.

1

Esto funciona así en powershell

Para obtener el thumbpeint dir cert: \ localmachine \ mi

Para borrar la huella digital del cert: \ localmachine \ mi \ huella digital

0

Con PS 3.0 hay un enfoque más concisa e idiomático:

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

Ver TechNet para todos los detalles.

Cuestiones relacionadas