首页 > 解决方案 > 如何获得即将到期的 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找到它,有人可以帮我吗?非常感谢任何帮助。

谢谢,最好的问候。

标签: powershellcertificatewindows-server-2012-r2

解决方案


继续我的评论,您可以过滤非“根 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
            
        }
    }

推荐阅读