我正在使用Azure Active Directory,想知道用户密码何时到期。
目前我使用这些PowerShell命令成功连接到msol服务并获得密码到期,但我不太确定如何获取密码到期日期。
我正在使用Azure Active Directory PowerShell模块。
Connect-MsolService
Get-MsolUser -UserPrincipalName 'Username' | Select PasswordNeverExpires
答案 0 :(得分:1)
您正在寻找LastPasswordChangeTimestamp
属性:
Get-MsolUser -UserPrincipalName 'Username' |Select LastPasswordChangeTimestamp
这只会告诉您密码上次更改的时间,而不会告诉您何时到期,所以也要从密码策略中获取密码有效期:
$PasswordPolicy = Get-MsolPasswordPolicy
$UserPrincipal = Get-MsolUser -UserPrincipalName 'Username'
$PasswordExpirationDate = $UserPrincipal.LastPasswordChangeTimestamp.AddDays($PasswordPolicy.ValidityPeriod)
$PasswordExpirationDate
现在应该有密码到期的时间戳
答案 1 :(得分:1)
Mathias R.Jessen说的是正确的。
但是,在某些情况下,例如租户具有多个域(每个域可以具有不同的密码策略),为单个用户设置了“密码永不过期”以及通过密码设置了“密码永不过期”时,您可能会获得不准确的数据政策。
下面的代码将帮助您获得正确的结果。
$Domains=Get-MsolDomain #-Status Verified
foreach($Domain in $Domains)
{
$PwdValidity=(Get-MsolPasswordPolicy -DomainName $Domain).ValidityPeriod
$PwdPolicy.Add($Domain.name,$PwdValidity)
}
Get-MsolUser -All | foreach{
$UPN=$_.UserPrincipalName
$PwdLastChange=$_.LastPasswordChangeTimestamp
$UserDomain= $UPN -Split "@" | Select-Object -Last 1
$PwdValidityPeriod=$PwdPolicy[$UserDomain]
}
您可以从Microsoft的technet画廊下载脚本:https://gallery.technet.microsoft.com/Export-Office-365-Users-91b4fc50