Я всё никак остановиться не могу .
Ну а сегодня я останавливаюсь на теме пользователей и срока жизни их паролей в 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 }
Спасибо, надеюсь и сегодня я в очередной раз Вам был полезен.