powershell - 如何获得即将到期的 Trusted toot 证书(60 天)
问题描述
我正在尝试获取将在 60 天内过期的受信任的根证书。这是我到目前为止所拥有的
$getcert=Get-ChildItem -Path Cert:\LocalMachine\AuthRoot -ExpiringInDays 60
foreach ($cert in $getcert) {
$cert.issuer #how to get this?
if($cert -ne "" -and $cert.issuer -notcontains "Root CA" ){
"send notification"
$cert.FriendlyName
}else{
"continue"
}}
但是我无法获得颁发者,我需要它来排除由 Root CA 或服务器创建的那些,所以我可以知道像 Digicert 这样的证书何时到期然后发送通知(已经配置了 mailgun,无需添加这部分)
MMC中有一个“Issued By”属性,但不知道如何通过PS找到它,有人可以帮我吗?非常感谢任何帮助。
谢谢,最好的问候。
解决方案
继续我的评论,您可以过滤非“根 CA”证书管道到 a Where-Object
,除非这不是完整的过滤目的。因此,您可以改为执行以下操作:
$Expriring_Certs = Get-ChildItem -Path Cert:\LocalMachine\AuthRoot -ExpiringInDays 60 | Where-Object {$_.Subject -notmatch "Root CA"}
foreach($Cert in $Expriring_Certs){
[PSCustomObject]@{
"Friendly Name" = $Cert.FriendlyName
" Cert Issuer " = $Cert.Issuer
"Expiration Date" = $Cert.NotAfter
}
}
推荐阅读
- javascript - Jest 全局设置导致不一致的测试通过/失败
- ios - iOS 搜索栏与导航栏混淆
- python - 没有副作用类型注释的可迭代
- c++ - 'operator++(int) &' 运算符重载中的 '&' 是什么意思?
- flutter - 如何在扫描渐变中包含笔画帽?
- javascript - 如何使相同的按钮隐藏和显示块?
- php - 如何通过单击朋友的个人资料来更新消息状态以阅读
- android - 拔下电源后,React-Native Android 设备上不会发生振动
- sql - Scala Doobie PSQLException:错误:使用“Like %”时输入末尾的语法错误
- java - eclipse 在保存项目时自动编译。如何摆脱它