Срок действия пароля в Powershell QADUser
Привет, у меня есть скрипт ниже, который отправляет по электронной почте пользователям, чьи пароли должны истечь в $ daysleftonpwd, но я не уверен, как добавить "только если у пользователя установлен пароль, срок действия которого истекает", что означает, что я не хочу отправлять по электронной почте пользователям, чей пароль установлен до следующего срока действия.
Get-QADGroupMember -Identity TEAM_GROUP | % {
$name = $_.Name
$email = $_.Email
$daysleftonpwd = ((Get-QADUser -SizeLimit 0 -SearchRoot $OU -Identity $_.SamAccountName | select PasswordExpires).PasswordExpires - $date | select Days).Days
if (((Get-QADUser -Identity $_.SamAccountName | select PasswordExpires).PasswordExpires - $date).Days -lt $threshold){
Write-Host "$Name would be emailed using $email because password is less than $threshold"
$y = $y + "<br>$name</br>"
mailuser
}
Есть идеи?
1 ответ
Одним из полей, которые возвращает Get-QADUser, является PasswordNeverExpires:
PS C:\> ( Get-QADUser regularuser ).PasswordNeverExpires
False
PS C:\> ( Get-QADUser specialuser ).PasswordNeverExpires
True
Должно быть достаточно легко использовать это в ваших скриптах для тестирования. Есть и другие способы проверить это напрямую (вы должны взглянуть на UserAccountControl - https://msdn.microsoft.com/en-us/library/ms680832%28v=vs.85%29.aspx И msDS-User-Account-Control-Computed - https://msdn.microsoft.com/en-us/library/ms677840%28v=vs.85%29.aspx), но это немного страшнее...