Functions/Private/CertDeployment/Get-ExpiringCertInfo.ps1
function Get-ExpiringCertInfo { param ( # array of certificates [Parameter(Mandatory)] [System.Object] $certInfo, [Parameter(Mandatory)] [System.Int32] $cutoffDate ) begin { $expiringCerts = New-Object System.Collections.ArrayList $currentTime = (Get-Date -Format "o") } process { foreach ($cert in $certInfo) { $startDate = [datetime]$currentTime $endDate = [datetime]$cert.notAfter $certTimespan = New-Timespan -Start $startDate -End $endDate # $cert if ($certTimespan.days -lt 15) { Write-Debug "$($cert.userName)'s certificate will expire in $($certTimespan.Days) days" $expiringCerts.add($cert) | Out-Null } else { Write-Debug "$($cert.userName)'s certificate will expire in $($certTimespan.Days) days" } } } end { return $expiringCerts } } |