Hello @Louai Al Obaidi , this PowerShell Script will calculate the password expiration date for users whose password expire. It requires the MSOnline PowerShell module:
Connect-MsolService
$PasswordPolicy = Get-MsolPasswordPolicy -DomainName # required
$Users = Get-MsolUser
$Users |
Where-Object { $_.PasswordNeverExpires -EQ $false-or $_.PasswordNeverExpires -eq $null } |
ForEach-Object { $ExpiryDate = $_.LastPasswordChangeTimestamp.AddDays($PasswordPolicy.ValidityPeriod); $_ } |
Select-Object DisplayName, userPrincipalName, `
@{Name = "ExpiryDate"; E = { $ExpiryDate } }, `
@{Name = "DaysToExpire"; E = { if ($ExpiryDate -gt (Get-date)) { ($ExpiryDate - (Get-date)).days } else { "Expired" } } }
Let us know if you need additional assistance. If the answer was helpful, please accept it and rate it so that others facing a similar issue can easily find a solution.