powershell - 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
解决方案
推荐阅读
- github - 如何在我的主页上删除其他人的 repo?
- reactjs - 如何在 React-Bootstrap 中调整表单控件的宽度
- laravel - 如何在 Laravel 动态路由中使用 str_replace
- node.js - npm 包元数据 api
- html - 此 HTML5 代码不播放音频和视频
- typescript - 为什么我在打字稿的前面枚举中需要`const`?
- math - 如何用汇编语言计算 x^y?
- java - 如何在不发送另一个身份验证请求的情况下保持来自跨源 (CORS) Spring 安全性的登录会话
- laravel - 使用 Eloquent 获取连接表的最小值
- html - 启动前端项目时如何定位div?你如何获得 CSS 样板代码设置?