PowerShell: AD истечение пароля пользователей

Просмотров: 8402Комментарии: 0
ВкусняшкиWindows

Я всё никак остановиться не могу grin.

Ну а сегодня я останавливаюсь на теме пользователей и срока жизни их паролей в AD (Active Directory)

Что такое Active Directory структура и применение я очень давно описал и на текущий момент эти записи так и не утратили актуальность.

Иногда поступают разного рода задачи, например некоторые пользователи хотят регулярно знать когда (или через какое время) истекает их пароль учетной записи. Так как подходов запросов очень много, то я приведу просто небольшой пример кода, который при указании определенного OU перечислит всех пользователей и укажет через какое время пароль их учетной записи истекает.

Clear-Host
Import-Module ActiveDirectory
$OU = "OU=IT Department,DC=olorg,DC=ru"
$ADAccounts = Get-ADUser -LDAPFilter "(objectClass=user)" -searchbase $OU -properties PasswordExpired, extensionAttribute3, PasswordNeverExpires, PasswordLastSet, Mail, Enabled | Where-object {$_.Enabled -eq $true -and $_.PasswordNeverExpires -eq $false}
Foreach ($ADAccount in $ADAccounts)
{
$accountFGPP = Get-ADUserResultantPasswordPolicy $ADAccount
        if ($accountFGPP -ne $null)
		{
        $maxPasswordAgeTimeSpan = $accountFGPP.MaxPasswordAge
		}
		else
		{
        $maxPasswordAgeTimeSpan = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge
        }
        $ExpiryDate = $ADAccount.PasswordLastSet + $maxPasswordAgeTimeSpan
        $TodaysDate = Get-Date
	    $DaysToExpire = $ExpiryDate - $TodaysDate
        $DaysToExpireDD = $DaysToExpire.ToString() -Split ("\S{17}$")
    Write-Host $ADAccount.SamAccountName " Через - " $DaysToExpireDD " - или - " $DaysToExpire
}

Обращаю внимание что $DaysToExpire воспринимается как строка, а не число, учтите это при составлении условий, как строку перевести в число я рассказывал в блоге УМВР в статье PowerShell: Как преобразовать строку в число.

Спасибо, надеюсь и сегодня я в очередной раз Вам был полезен.

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Вы можете войти под своим логином или зарегистрироваться на сайте.

(обязательно)