如何使用 PowerShell 获取域的最新 SSL 证书?

Nic*_*ckG 3 powershell ssl-certificate powershell-3.0 octopus-deploy

我正在尝试在给定域(例如 www.example.com)的虚拟主机证书存储中查找最新证书

找到任意数量的匹配证书很容易,但是我如何才能找到按到期日期(最远的未来)排序的最新证书?

我现有的代码是:

(Get-ChildItem -Path cert:\LocalMachine\WebHosting 
   | Where-Object {$_.Subject -match "example.com"}).Thumbprint;
Run Code Online (Sandbox Code Playgroud)

然而,这有时会返回两个证书,因为通常之前的证书(在续订之前)必须在证书存储中保留一小段时间。

JPB*_*anc 5

您可以尝试按属性排序 notafter

要查看所有属性:

(Get-ChildItem -Path cert:\LocalMachine\WebHosting | Where-Object {$_.Subject -match "example.com"}) | fl *
Run Code Online (Sandbox Code Playgroud)

notAfter属性排序:

(Get-ChildItem -Path cert:\LocalMachine\ca | Where-Object {$_.Subject -match ".*microsoft.*"}) | Sort-Object -Property NotAfter -Descending
Run Code Online (Sandbox Code Playgroud)

  • `(Get-ChildItem -Path cert:\LocalMachine\Webhosting | Where-Object {$_.Subject -match "example.com"} | Sort-Object -Property NotAfter -Descending | Select-Object -first 1).Thumbprint` (3认同)