Всем привет.
Еще раз пройдусь по мониторингу учетных записей в AD средствами
Powershell. Уже из своей практики использования.
# 1 Всі заблоковані користувачі (через пароль тощо)
Search-ADAccount -UsersOnly -LockedOut | sort LastLogonDate | Select Name,LastLogonDate,DistinguishedName | measure
Search-ADAccount -UsersOnly -LockedOut | sort LastLogonDate | Select Name,LastLogonDate,DistinguishedName
# 2 Всі відключені користувачі
Search-ADAccount -UsersOnly -AccountDisabled | sort Name | Select Name,LastLogonDate,DistinguishedName | measure
Search-ADAccount -UsersOnly -AccountDisabled | sort Name | Select Name,LastLogonDate,DistinguishedName | Export-Csv "d:\AD\Monitoring!\DisabledUsers.csv" -Encoding UTF8
Get-ADUser -filter "Enabled -eq 'False'" | Select SamAccountName,LastLogonDate | sort SamAccountName | measure
# 2.1 Всі відключені користувачі в групі OLD_Users
Search-ADAccount -UsersOnly -AccountDisabled -Searchbase "OU=OLD_Users,OU=DW,DC=forza,DC=com" | sort Name | Select Name,LastLogonDate,DistinguishedName | measure
# 2.2 Всі відключені користувачі які НЕ в групі OLD_Users
Search-ADAccount -UsersOnly -AccountDisabled | Where {$_.DistinguishedName -notlike "*OU=OLD_Users,OU=DW,DC=forza,DC=com"} | measure
# 2.3 NoLogin anytime
Get-ADUser -filter {(lastlogondate -notlike '*')} -properties cn | Select CN | measure
Get-ADUser -filter {(lastlogondate -notlike '*')} -properties cn | Select CN | Export-Csv "d:\AD\Monitoring!\InactiveUsersNoLogin.csv" -Encoding UTF8
# 3 Неактивні користувачі протягом останніх 30 діб
$t = New-Timespan –Days 30
Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $t | Where {$_.DistinguishedName -notlike "*OU=OLD_Users,OU=DW,DC=forza,DC=com"} | sort Name | Select Name,LastLogonDate,DistinguishedName | measure
Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $t | sort Name | Select Name,LastLogonDate,DistinguishedName | Export-Csv "d:\AD\Monitoring!\InactiveUsers30a.csv" -Encoding UTF8
# 4 Відключення Hеактивних користувачів 30 діб
Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $t | Disable-ADAccount
Search-ADAccount –ComputersOnly –AccountInactive –TimeSpan $t | Disable-ADAccount