首页 > 解决方案 > PowerShell 脚本 - Where-Object 小于

问题描述

我正在编写一个脚本来检查某些证书的到期日期。我已经编写了一个基本脚本来获取所需的详细信息,但我现在只想获取那些显示证书将在未来 30 天内到期的内容。

$result = Invoke-WebRequest -Uri '<URL>'  -TimeoutSec 60 
$result2a = ($result.RawContent) -split '\n' | Select-String -Pattern 'Certificate\s+Fine:(.+)::.*Expiry\s+Days=\((\d+)\s+days\)' | 
Foreach-Object {
    [PSCustomObject]@{
        Certificate = $_.matches.Groups[1].Value
        Days        = $_.matches.Groups[2].Value -as [int]
    }
}
$result2a

这将打印以下内容:

Certificate                                                                                                                                                          Days
-----------                                                                                                                                                          ----
denmark_24032023.pem                                                                                                                                                  598
denmark_new.pem                                                                                                                                                      3049
edi_maerskline_com_belgium_chain_14122021.pem                                                                                                                         133
edi_maerskline_com_belgium_key_14122021.pem                                                                                                                           133
edi_maerskline_com_cert_09202021.pem                                                                                                                                   46
edi_maerskline_com_chain_09202021_dec.pem                                                                                                                              46
edi_maerskline_com_chain_09202021.pem                                                                                                                                  46
finland_cert_04022022.pem                                                                                                                                             184
finland_chain_04022022.pem                                                                                                                                            184
finland_key_04022022.pem                                                                                                                                              185
Ireland_Cert_New_26112021.pem                                                                                                                                         115
Ireland_Key_New_26112021.pem                                                                                                                                          115
israel_prod_cert_11012023.pem                                                                                                                                         526
israel_prod_key_11012023.pem                                                                                                                                          526
lt_sergey_cert_01102023.pem                                                                                                                                           789
lt_sergey_key_01102023.pem                                                                                                                                            789
MATEJ_MUHA_cert_06102021.p12                                                                                                                                           64
neztsw_cert_16072023.pem                                                                                                                                              712
neztsw_key_16072023.pem                                                                                                                                               712
nz_customs_cert_01102022.pem                                                                                                                                          424
poland_keystore_12112021.jks                                                                                                                                          101
romania_rsakey_05102025.pem                                                                                                                                          1524
slovenia_cert_05102025.pem                                                                                                                                           1524
slovenia_gov_cert_21012025.pem                                                                                                                                       1267
slovenia_rsakey_05102025.pem                                                                                                                                         1524

我试图使用Where-Object来获得小于但努力获得显示的数字(我不想看到计数、平均值等,如下所示)

$result2a | Where-Object Days -le 30 | Measure-Object


Count    : 0
Average  : 
Sum      : 
Maximum  : 
Minimum  : 
Property : 

我试图删除 Measure-Object 但返回空白。有人可以帮我指出我哪里出错了,只显示那些少于 30 天的证书的数量。

$result2a | Where-Object Days -le 30

标签: powershellobject

解决方案


推荐阅读