Исключить отрицательные целые числа в результате - PullRequest
0 голосов
/ 27 сентября 2018

Я пытаюсь проверить сертификаты с истекшим сроком действия.Проблема в том, что мы оставляем просроченные на наших серверах иногда для справки, и я хочу отображать только те, которые приводят к истечению срока действия.Как исключить отрицательные целые числа в этом случае?

Пример вывода:

Истекает In (Дней): -25 NotAfter: 01.09.2008 10:56:27:00 Тема: CN = SERVER01.domain.com Эмитент: CN = SOMEAUTHICA01, DC = домен, DC = com

Истекает In (Дни): -17 NotAfter: 9/9 /2018 15:45:55 Тема: CN = SERVER02.domain.com Эмитент: CN = SOMEAUTHICA01, DC = домен, DC = com

$threshold = 30   #Number of days to look for expiring certificates
$deadline = (Get-Date).AddDays($threshold)   #Set expiration deadline date
$serverList = 'SERVER01.domain.com','SERVER02.domain.com'

$expired = Invoke-Command -ComputerName $serverList { Dir Cert:\LocalMachine\My } | Sort-Object -Property NotAfter | Get-Unique | foreach {
    If ($_.NotAfter -le $deadline) {$_ | Select Issuer, Subject, NotAfter, @{Label="Expires In (Days)";Expression={($_.NotAfter - (Get-Date)).Days}} } 
 }

1 Ответ

0 голосов
/ 31 октября 2018

Вы должны исключить сертификаты, срок действия которых уже истек.Это можно сделать следующим образом.

$threshold = 30;   #Number of days to look for expiring certificates
$deadline = (Get-Date).AddDays($threshold);   #Set expiration deadline date
$serverList = 'SERVER01.domain.com','SERVER02.domain.com';

$expired = Invoke-Command -ComputerName $serverList { Dir Cert:\LocalMachine\My } | Sort-Object -Property NotAfter | Get-Unique | foreach {
    If ($_.NotAfter -le $deadline -and $_.NotAfter -gt (Get-Date).Days) {$_ | Select Issuer, Subject, NotAfter, @{Label="Expires In (Days)";Expression={($_.NotAfter - (Get-Date)).Days}} } 
}
...