Tipp & Trick
Ablaufende TLS-Zertifikate mit PowerShell überwachen
AdministratorMittel
Zentral prüfen, welche TLS-Zertifikate in den nächsten 30 Tagen ablaufen – über HTTPS-Endpunkte oder Zertifikatsspeicher.
Problemstellung
Sie müssen sicherstellen, dass keine TLS-Zertifikate unbemerkt ablaufen. Manuelle Kontrollen sind aufwändig und fehleranfällig – besonders bei vielen Servern und Diensten.
Lösung
Skript: Prüft eine Liste von HTTPS-Endpunkten auf Ablaufdatum.
powershell
$Endpoints = @('https://inderwildi.org','https://portal.example.com')
$Warn = (Get-Date).AddDays(30)
foreach ($url in $Endpoints) {
try {
$req = [Net.HttpWebRequest]::Create($url)
$req.AllowAutoRedirect = $false
$req.GetResponse().Close()
$cert = $req.ServicePoint.Certificate
$exp = [datetime]::Parse($cert.GetExpirationDateString())
if ($exp -lt $Warn) {
Write-Warning "$url laeuft ab am $exp"
} else {
Write-Host "$url ok bis $exp"
}
} catch { Write-Warning "$url : $_" }
}
Sprachepowershell
PowerShell-Version7.x empfohlen
BetriebssystemeWindows Server, Windows 11, Linux (PowerShell 7)
VoraussetzungenNetzwerkzugriff auf die Endpunkte
Passende Dienstleistungpki
AutorHubert Inderwildi