Срок действия пароля 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
}

Любые идеи?


person IRLAB    schedule 07.06.2016    source источник


Ответы (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), но это немного уродливее...

person Hunter Eidson    schedule 08.06.2016