Проверка сертификатов на действительность

Import-Module ActiveDirectory
$servers = Get-ADComputer -Filter 'operatingsystem -like "*server*" -and enabled -eq "true"' ` -Properties Name | Select-Object -Property Name
 
 
$stringtosearch = "*??ФИЛЬТР???*"
 
foreach ($server in $Servers) {
    $servername = $server.Name
    write-host ***************************************** $servername
    $ro=[System.Security.Cryptography.X509Certificates.OpenFlags]"ReadOnly"
    $lm=[System.Security.Cryptography.X509Certificates.StoreLocation]"LocalMachine"
    $store=new-object System.Security.Cryptography.X509Certificates.X509Store("\\$servername\My",$lm)
    $store.Open($ro)
    $certificates=$store.Certificates
    foreach ($cert in $certificates) {
        write-host $cert.NotAfter $cert.Subject
        if ($cert.Subject -like $stringtosearch) {
            write-host ALERT!!!!!!!!!!!!!!!!!!!!!!!!!!
        }
    }
    write-host ""
}