Private/UDElements/SystemUsers/UDElement-user_passwordExpirations.ps1
function UDElement-user_passwordExpirations () { param ( $refreshInterval, $unDrawColor ) New-UDElement -Tag "user_passwordExpirations" -Id "user_passwordExpirations" -RefreshInterval $refreshInterval -AutoRefresh -Endpoint { if ($JCSettings.SETTINGS.passwordPolicy.enablePasswordExpirationInDays) { if (Get-JCUser -password_expired $False -filterDateProperty password_expiration_date -dateFilter before -date (Get-Date).AddDays(30)) { New-UDGrid -Title "Upcoming Password Expirations" -Headers @("Username", "Password Expiration Date")-Properties @("Username", "ExpirationDate") -Endpoint { Get-JCUser -password_expired $False -filterDateProperty password_expiration_date -dateFilter before -date (Get-Date).AddDays(30) | Sort-Object "password_expiration_date" | ForEach-Object { [PSCustomObject]@{ Username = (New-UDLink -Text $_.username -Url "https://console.jumpcloud.com/#/users/$($_._id)/details" -OpenInNewWindow); ExpirationDate = (Get-Date($_.password_expiration_date)).ToLocalTime(); } } | Out-UDGridData } } else { New-UDCard -Title "Upcoming Password Expirations" -Content { New-UDunDraw -Name "my-password" -Color $unDrawColor New-UDParagraph -Text "None of your users' passwords will expire in the next 30 days!" } } } else { New-UDCard -Title "Upcoming Password Expirations" -Content { New-UDunDraw -Name "my-password" -Color $unDrawColor New-UDParagraph -Text "Password expiration is not enabled for your JumpCloud Organization." } } } } |