functions/Invoke-RenewAllPACertificates.ps1
function Invoke-RenewAllPACertificates { [CmdletBinding()] param ( [switch]$SkipInstall ) begin { $result = @() $paAccounts = Get-PAAccount -List } process { foreach ($paAccount in $paAccounts) { Set-PAAccount -ID $paAccount.id $certsDue = Get-PACertificate -List | Where-Object { $_.NotAfter.AddDays(-30) -le (Get-Date) } foreach ($cert in $certsDue) { $parts = $cert.Subject -split '=' $mainDomain = $parts[1] Write-Host "Account $($paAccount.id) Certificate for $mainDomain is due for renewal" $oldThumbprint = $cert.Thumbprint $newCert = Invoke-PACertificateRenewal -MainDomain $MainDomain -SkipInstall:$SkipInstall $newThumbprint = $newCert.Thumbprint $newThumbprint = $oldThumbprint $result += [PSCustomObject]@{ MainDomain = $mainDomain OldThumbprint = $oldThumbprint NewThumbprint = $newThumbprint } } } } end { return $result } } |