# # Title: Certificate Removal From Computer's Trusted Root Certificate Store # Author: Vadims Podans # http://en-us.sysadmins.lv/default.aspx # param( [Parameter(ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)] [String]$ComputerName = $env:COMPUTERNAME, [String[]]$SerialNumber ) if(!$ComputerName -or !$SerialNumber) { write-host "Usage: ./delete_cert.ps1 " exit } foreach ($computer in $ComputerName) { try {$store = New-Object Security.Cryptography.X509Certificates.X509Store "\\$computer\Root", "LocalMachine"} catch {Write-Warning "Connection to '$computer' failed!"; return} $store.Open("ReadWrite") foreach ($SN in $SerialNumber) { $cert = $store.Certificates | ?{$_.SerialNumber -eq $SN} if ($cert) { try { $store.Remove($cert) Write-Host "Successfully removed certificate with SerialNumber '$SN' from computer '$computer'" } catch {Write-Warning "Unable to remove certificatewith SerialNumber '$SN' from computer '$computer'"} } else {Write-Warning "Computer '$Computer' don't have required certificate with SerialNumber '$SN'"} } $store.Close() }