# Date define our Certificate Retention period.
$FileName = (Get-date).ToString("dd-MM-yyyy")
$Date = (Get-Date).AddDays(-375).ToShortDateString()
# Store List of Certificate which need to take action.
# Disposition Values
# 20 certificate was issued
# 21 certificate is revoked
# 30 certificate request failed
# 31 certificate request is denied
$CollectRow = certutil.exe -view -restrict "Disposition=30,notbefore<=$Date" -out Requestid csv | findstr.exe /v "Issued Request ID"
foreach($DelCert in $CollectRow) {
Certutil -deleterow $DelCert Request
$CALog = "$DelCert Successfully Deleted"
$CALog | Out-File "C:\CAClearLog\$FileName + CAResult-log.txt" -Append
}