Powershell获取1年内未改密码的用户
1、定义OU搜索范围:OU=BYSSOFT_OBJECT,DC=byssoft,DC=com
2、定义输出结果文件
#建议保存编码为:bom头 + utf8
$输入ou = 'OU=BYS_Users,OU=BYS_Object,DC=byssoft,DC=com'
$输出文件 = 'd:\expireduser.txt'
$1年前 = (Get-Date).addyears(0)
$users = Get-ADUser -SearchBase $输入ou -filter { PasswordLastSet -lt $1年前 } -Properties samaccountname,msDS-UserPasswordExpiryTimeComputed,PasswordNeverExpires,PasswordLastSet
$结果 = @()
foreach ($user in $users)
{
$a = [PSCustomObject]@{
samaccountname = $user.samaccountname
ou = $user.DistinguishedName
密码更改日期 = $user.PasswordLastSet
密码过期日期 = [datetime]::FromFileTime($user.'msDS-UserPasswordExpiryTimeComputed')
#密码永不过期 = $user.PasswordNeverExpires
}
$结果 += $a
}
#$结果 | Sort-Object -Unique | Export-Csv -LiteralPath $输出文件 -Encoding unicode -NoTypeInformation
$结果 | Export-Csv -LiteralPath $输出文件 -Encoding unicode -NoTypeInformation
3、执行成功
4、输出结果