PowerShell — Аудит использования парольной политики

imageПродолжая тему анализа доменных учетных записей пользователей на предмет их соответствия действующей парольной политике предлагаю ещё один вариант скрипта из заметки  PowerShell – Поиск пользователей домена с устаревшими паролями. В текущем варианте используется библиотека AD для PowerShell 2.0

В указанном примере в конкретном OU выбираются все действующие учетные записи пользователей, за исключением сервисных, для которых значение атрибута SamAccountName начинается с символов “s-” и выполняется сравнение даты последней смены пароля с максимально возможным значением (текущая дата минус 185 дней) 

Import-Module ActiveDirectory

$SearchOU = "OU=Domain Users,DC=mydom,DC=com"

$PWAgeDaysLimit = 185

 

$Users = Get-ADUser -Filter {(Enabled -eq $True) -AND (SamAccountName -notlike "s-*")} `

-SearchBase $SearchOU `

-Properties CN, SamAccountName, PasswordLastSet, PasswordNeverExpires, CannotChangePassword, LastLogonDate

 

$OldestDate = (Get-Date).AddDays($PWAgeDaysLimit)

$UsersOldPWD = $Users | Where-Object {$_.PasswordLastSet -le $OldestDate}

$UsersOldPWD | Select `

@{label="User Full Name";expression={$_.CN}},`

@{label="SamAccountName";expression={$_.SamAccountName}},`

@{label="PWD Last Set";expression={$_.PasswordLastSet}},`

@{label="PWD Never Expirest";expression={$_.PasswordNeverExpires}},`

@{label="PWD Cannot Change";expression={$_.CannotChangePassword}},`

@{label="Last Logon";expression={$_.LastLogonDate}}`

| Sort -Property "PWD Last Set"`

| Format-Table  –AutoSize

 

Write-Host "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"

write-host "Total user accounts in OU: " $Users.Count

write-host "Users with passwords not changed in" $PWAgeDaysLimit "days: " $UsersOldPWD.Count

Write-Host "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"

Только один комментарий Комментировать

  1. Обратная ссылка: Useful MS Active Directory links « Share IT /

Добавить комментарий