Encontra a expiração do arquivo de certificado com o powershell

1

Eu sei como fazer isso normalmente, mas o problema é que todos os certs em questão não estão instalados na minha máquina local. Eu tenho um diretório de controle de origem onde todos se sentam, e eu preciso iterar sobre eles com powershell para descobrir quais expiraram. Há muitos para apenas clicar duas vezes para ver as informações "Válido de", então como posso obter isso usando o powershell?

    
por EAndrus 25.11.2015 / 17:19

2 respostas

1

Eu estava jogando com certificados e descobri isso, não consegui fazer o código acima funcionar, mas eu o modifiquei para usar o GCI e filtrar e funcionou, obrigado!

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"
    }
}
    
por 25.10.2017 / 00:42
0

Se eles estiverem armazenados em arquivos, você poderá instanciar um objeto X509Certificate2 do arquivo e verificar a data de vencimento normalmente:

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