Удаление сертификата
param( $cert, $store = "my", [switch]$listcerts, [switch]$help ) function funHelp() { $helpText=@" DESCRIPTION: NAME: DeleteCertificate.ps1 Removes a certificate from a certificate store PARAMETERS: -store the certificate store on the computer -cert certificate to delete -listcerts lists certificates in specified store -help prints help file SYNTAX: DeleteCertificate.ps1 Prints error message a certificate is required, and displays help DeleteCertificate.ps1 -cert "B67BAFECA1E77B8F3AEAB8EB9054D5D31C3C0A03" Removes a certificate with thumbprint of B67BAFECA1E77B8F3AEAB8EB9054D5D31C3C0A03 from the my store of the currentuser DeleteCertificate.ps1 -store "my" -cert "OU=EFS File Encryption Certificate" Removes a certificate with subject of OU=EFS File Encryption Certificate from the my store of the currentuser DeleteCertificate.ps1 -store "smartcardroot" -cert "E47F375796238DB54CB70DA7A5E88F79" Removes a certificate with the serial number of E47F375796238DB54CB70DA7A5E88F79 from the smartcardroot store of the currentuser DeleteCertificate.ps1 -listcerts Gets a listing of certificates for the my store of the currentuser DeleteCertificate.ps1 -help Prints the help topic for the script "@ $helpText exit } Function funcert() { $crypto = "System.Security.Cryptography.X509Certificates.X509Store" $objStore = new-object $crypto $store, $userStore $objstore.Open("ReadWrite") $colcerts = $objstore.Certificates Write-Host -ForegroundColor blue " There are $($colcerts.count) certificates in the $store store. They are listed below: " foreach($cert in $colCerts) { "FriendlyName: $($cert.FriendlyName)" "Serialnumber: $($cert.SerialNumber)" "Thumbprint: $($cert.thumbprint)" "Subject: $($cert.subject)`n" } $objstore.Close() exit } Function findcert($key) { $crypto = "System.Security.Cryptography.X509Certificates.X509Store" $objStore = new-object $crypto $store, $userStore $objstore.Open("ReadWrite") $colcerts = $objstore.Certificates foreach($cert in $colCerts) { if($cert.thumbprint -match $key) { $global:mycert = $cert } if($cert.serialnumber -match $key) { $global:mycert = $cert } if($cert.friendlyname -match $key) { $global:mycert = $cert } if($cert.subject -match $key) { $global:mycert = $cert } } } new-variable -name userStore -value "currentUser" -option readonly $global:mycert = $null if($help) { "Printing help now..." ; funHelp } if($listcerts) { "Listing certificates in $store" ; funcert } if(!$cert) { "A certificate is required..." ; funhelp } Findcert($cert) $crypto = "System.Security.Cryptography.X509Certificates.X509Store" $objStore = new-object $crypto $store, $userStore $objstore.Open("ReadWrite") $objstore.remove($mycert) $objstore.Close()
Голосов пока нет
Оставить комментарий