You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:AWS中获取未使用证书的PowerShell脚本排序方法

如何筛选并排序AWS ACM中不再使用的证书(PowerShell)

嘿,我来帮你搞定这个问题!你已经通过Get-ACMCertificateList | Get-ACMCertificateDetail拿到了所有ACM证书的详情,接下来核心要做两件事:筛选出未被使用的证书,再按你需要的规则排序。

第一步:筛选未使用的证书

ACM证书的InUseBy属性会列出所有关联的AWS资源(比如CloudFront分发、ALB、API Gateway等等)。如果这个数组是空的,就说明证书完全没在使用。咱们可以用Where-Object来过滤:

# 获取所有未被使用的ACM证书详情
$UnusedCertificates = Get-ACMCertificateList | Get-ACMCertificateDetail | 
    Where-Object { $_.InUseBy.Count -eq 0 }

如果你还想进一步过滤(比如只找未过期的未使用证书,或者反过来只找已过期的),可以加额外条件:

# 例子:筛选未过期且未使用的证书
$ActiveUnusedCerts = $UnusedCertificates | Where-Object { $_.Status -eq 'ISSUED' }

# 例子:筛选已过期且未使用的证书
$ExpiredUnusedCerts = $UnusedCertificates | Where-Object { $_.Status -eq 'EXPIRED' }

第二步:对未使用证书排序

用Sort-Object就能轻松实现排序,你可以根据自己的需求选择排序字段:

1. 按过期时间排序(最常用)

如果想优先处理快要过期的未使用证书,按NotAfter(过期时间)升序排列:

# 按过期时间从近到远排序
$SortedByExpiry = $UnusedCertificates | Sort-Object -Property NotAfter -Ascending

要是想先看最早过期的,就把-Ascending换成-Descending。

2. 按域名名称排序

如果想按域名字母顺序整理:

# 按域名名称字母顺序排序
$SortedByDomain = $UnusedCertificates | Sort-Object -Property DomainName

3. 按证书创建时间排序

想看看哪些未使用证书是最早创建的:

# 按创建时间从早到晚排序
$SortedByCreation = $UnusedCertificates | Sort-Object -Property CreatedAt -Ascending

最后:输出你关心的字段

排序后可以用Select-Object只输出你需要的信息,避免冗余:

$SortedByExpiry | Select-Object DomainName, NotAfter, CertificateArn, Status

这样就能得到清晰的、按规则排序的未使用ACM证书列表啦!

内容的提问来源于stack exchange,提问作者user8172425

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:26:48