Come posso controllare i dettagli di scadenza per molti certificati SSL dispiegati nei server Windows 2008/2012

Abbiamo 300 server Windows per scopi di hosting .NET e molti certificati SSL importti su questi server. Possiamo estrarre i dati di scadenza del certificato per tutti i server da un singolo server Windows / Linux utilizzando PowerShell o Python?

2 Solutions collect form web for “Come posso controllare i dettagli di scadenza per molti certificati SSL dispiegati nei server Windows 2008/2012”

Get-ChildItem cert:\LocalMachine\My elenca tutti i certificati macchina installati.

per fare lo stesso a un server remoto, utilizzare il remoto:

Invoke-Command -ComputerName $servername -ScriptBlock {Get-ChildItem cert:\LocalMachine\My}

o tutti i server:

 $certs = Get-ADComputer -SearchBase 'ou=servers,dc=something,dc=com' -filter * | % { Invoke-Command -ComputerName $_.name -ScriptBlock { Get-ChildItem cert:\LocalMachine\my } }' 

il modo più semplice per farlo sarebbe con una semplice curl del sito utilizzando le seguenti bandiere:

 curl -ILv https://yourdomainhere.com 

nell'output, trovenetworking una string di scadenza "data di scadenza" che ha qualcosa di simile:

 * expire date: 2016-05-19 20:59:53 GMT 

utilizzare pycurl per far funzionare questo, ingerire come string, quindi estrarre i dati pertinenti. OPPURE, potresti usare il seguente script python per le caselle * nix da testare (è un po 'ruvido e potrebbe usare il tweaking per accettare tutti gli host / domini da controllare):

 import os os.system("echo|openssl s_client -connect mydomain.com:443 | openssl x509 -noout -dates > ~/testfile.txt") 
Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.