Powershell QADUser密码到期

时间:2016-06-07 10:46:44

标签: powershell active-directory powershell-v2.0 quest

您好我有以下脚本,其中的用户密码将在$ 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 个答案:

答案 0 :(得分: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-用户 - 帐户 - 控制 - 计算 - https://msdn.microsoft.com/en-us/library/ms677840%28v=vs.85%29.aspx),但是有点丑陋......