Есть ли любой powershell, управляют, чтобы выводы пользователи, которые имеют их пароли, истекли от определенной организационной единицы (OU).
Раз так это может быть объединено в сценарии с другой командой, которая производит время, когда это истекает для всех пользователей в определенном OU?
Спасибо.
Получить отчет об истечении срока действия пароля AD Users Password Report from Specific OU:
Import-Module ActiveDirectory
Get-ADUser -SearchBase "OU=TestOU,DC=TestDomain,DC=Local" -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} -Properties "SamAccountName","msDS-UserPasswordExpiryTimeComputed" |
Select-Object -Property "SamAccountName", @{Name="Password Expiry Date"; Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}} |
Format-Table
Вы также можете воспользоваться помощью этого блога, в котором можно отправить по электронной почте уведомление об истечении срока действия пароля в активной директории, а также запланировать отчеты, оповещения и соответствие всем задачам, связанным с истечением срока действия пароля, чтобы сэкономить время: http://www.symantec.com/connect/blogs/how-automate-password-change-notification-through-email
.
Пользователи с истекшим сроком действия паролей:
Get-ADUser -SearchBase "ou=MyOU,dc=MyDomain,dc=Local" -filter * -properties Name, PasswordNeverExpires, PasswordExpired, PasswordLastSet | where {$_.Enabled -eq "True"} | where {$_.PasswordNeverExpires -eq $false} | where {$_.passwordexpired -eq $true}
Чтобы получить время, когда срок действия пароля истекает, вы должны получить свойство PasswordLastSet и добавить MaxPasswordAge из политики домена (например, в поле PasswordLastSet). g. $DefaultmaxPasswordAge = (Get-ADefaultDomainPasswordPolicy).MaxPasswordAge).
Пожалуйста, взгляните на скрипт уведомления об истечении срока действия пароля на TechNet: https://gallery.technet.microsoft.com/Password-Expiry-Email-177c3e27 Хороший образец для субъекта.
Перечислить пользователей с истекшим сроком действия паролей в определенной OU:
Get-ADUser -filter {Enabled -eq $True -and PasswordExpired -eq $True} -SearchBase "OU=Finance,OU=Users,DC=yourdomain,DC=com"
Перечислить пользователей с истекшим сроком действия паролей в определенной OU:
Get-ADUser -filter {Enabled -eq $True} -SearchBase "OU=Finance,OU=Users,DC=yourdomain,DC=com" –Properties "DisplayName", "msDS-UserPasswordExpiryTimeComputed"
|
Select-Object -Property "Displayname",@{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}