Powershell脚本删除一组服务器上的所有过期的证书

时间:2019-05-01 00:22:03

标签: powershell certificate ssl-certificate

我们正在清理服务器环境,需要找到所有过期的证书并将其删除。该环境由Windows 2008 R2,Windows 2012,Windows 2012 R2服务器组成

我尝试了几种不起作用的已发布脚本,它们只是说完成而没有输出。我尝试了一个在stackoverflow中发布的版本:Powershell Script to remove expired certificates。我也尝试过下面的一些脚本,但是没有运气。可以通过指纹使用一个,但是我需要摆脱所有过期的证书

'''

通过指纹删除

Get-ChildItem证书:\ LocalMachine \ My \ D20159B7772E33A6A33E436C938C6FE764367396 |删除项

按主题/序列号/发行人/任何内容删除

Get-ChildItem证书:\ LocalMachine \ My | 哪里对象{$ _。Subject -match'Frode F'} | 除去项目 ''' ''' $ today =获取日期 Get-ChildItem证书:\ CurrentUser \ My | 哪里的对象NotAfter -lt $ today | 删除项

Get-ChildItem证书:\ CurrentUser \ My | ForEach-Object -begin {$ now = get-date} -process {if($ PSItem.NotAfter -lt $ now){$ PSItem}} | 除去项目 '''

我要实现的目标是,利用引用文本文件中服务器列表的foreach语句,删除列表中所有服务器上所有已过期的证书,然后退出并删除昨天和更早日期起过期的所有证书< / p>

你们能想到的任何事情对我都有很大帮助

非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您是说要删除本地证书还是通过ADCS颁发的证书?

您说您已经尝试了许多示例,但是您是否尝试过这些示例:

Remove Local Windows Certificate Store Expired Certificates

  

使用此脚本,您将能够运行,检测并删除所有   受影响的本地计算机上的过期证书。所有证书   根据日期检查商店(用户,服务和计算机)   (运行时)以检测到以下日期的所有过期证书   运行。因此t

     

下载:Remove_local_expired_v2.ps1

Script to query/delete (expired) certificates from a AD-CS (CA /PKI) database

  

此Cleanup-MSPKI_Cert.ps1 PowerShell脚本包含3个函数   您的CA(证书颁发机构)AD-CS   (ActiveDirectory-CertificationAuthority)维护。您可以过滤   用于由特定模板颁发的证书,如果存在,也将其删除   过期了!

     

下载:Cleanup_MSPKI_Cert_v1.2.ps1

或使用MS powershellgallery.com上的完整PKI模块

'*pki*','*certificate*' | 
ForEach {Find-Module -Name $PSItem } | 
Format-Table -AutoSize

# Results

Version Name                               Repository Description
------- ----                               ---------- ----------- 
1.6     PKITools                           PSGallery  Get certificates and Templates ...
3.4.1.0 PSPKI                              PSGallery  This module contains public key ...
0.0.5   CustomPKI                          PSGallery  Extended PKI CmdLets                                                                                 
3.2.0.0 xCertificate                       PSGallery  This module includes DSC resources ...
4.5.0.0 CertificateDsc                     PSGallery  This module includes DSC resources ...
0.0.4   SelfSignedCertificate              PSGallery  WARNING: This module is ...
1.0     cEprsCertificate                   PSGallery  This module instals certificates, ...
1.0.0.1 azureVpnP2SSelfSignedCertificate   PSGallery  A PowerShell module to help generate ...
1.4     CertificateHealth                  PSGallery  Certificate Health Check Module                                                                      
1.5     CertificatePS                      PSGallery  A module to enhance certificate ...
0.2.0   ExportBase64Certificate            PSGallery  Export certificates from the local ...
1.0     ACMEDNS01Certificate               PSGallery  Generate SSL Certificates using ...                                                   
0.2     Get-ADUserCertificate              PSGallery  simple module to get single or ....
2.1.0   RDPCertificate                     PSGallery  A module for generating and apply....
1.0.0.2 PowerShell.X509Certificate.Utility PSGallery  A PowerShell X509Certificate Utili...          
1.2.5   Get-WebCertificate                 PSGallery  This script makes an HTTPS web ...
1.0     xCertificatePrivateKeyAccess       PSGallery  This resource helps you manage cer...