Назад | Перейти на главную страницу

Найдите срок действия файла сертификата с помощью powershell

Я знаю, как это сделать, но проблема в том, что все указанные сертификаты не установлены на моем локальном компьютере. У меня есть каталог управления версиями, в котором все они находятся, и мне нужно перебрать их с помощью PowerShell, чтобы найти, срок действия которых истек. Их слишком много, чтобы просто дважды щелкнуть по ним, чтобы просмотреть информацию «Действительно от», так как я могу получить это с помощью PowerShell?

Я играл с сертификатами и наткнулся на это, мне не удалось заставить приведенный выше код работать, но я изменил его, чтобы использовать GCI и фильтр, и он сработал, спасибо!

gci C:\Users\myname\Documents\OT -Filter *.cer | 
%{
    $cert = New-Object Security.Cryptography.X509Certificates.X509Certificate2 $_.FullName
    if ($cert.NotAfter -lt (Get-Date)) {
        Write-Warning "$_ is expired"
    }
}

Если они хранятся в файлах, вы можете создать экземпляр X509Certificate2 объект из файла, а затем проверьте срок годности как обычно:

dir c:\certs -Include *.cer, *.crt | %{
    $cert = New-Object Security.Cryptography.X509Certificates.X509Certificate2 $_.FullName
    if ($cert.NotAfter -lt (Get-Date)) {
        Write-Warning "$_ is expired"
    }
}