Перед нами была поставлена задача создать процесс для проверки веб-трафика случайных сотрудников на ежеквартальной основе. Я запустил скрипт в Powershell, который выбирает 10 случайных пользователей из определенного подразделения, но я все еще получаю некоторые ненужные данные. Мне нужна помощь в дальнейшей фильтрации списка. Вывод дает мне пользователей, которые были отключены и оставлены в OU, а также сотрудников PRN, которые не входили в систему в течение длительного времени. Я хотел бы найти учетные записи AD, которые имеют адрес электронной почты и имя входа, измененные в течение последних 3 месяцев. Вот пример кода, который у меня есть.
Get-ADUser -SearchBase "ou=ouname,ou=ouname,dc=domainname,dc=suffix" -Filter * | Select-Object -Property Name | Sort-Object{Get-Random} | select -First 10
[Редактировать: Ответ на вопрос]
Вот мой последний скрипт, добавленный $_.passwordlastset
в качестве атрибута поиска, так как он будет забирать пользователей, которые изменили свой пароль за последние 90 дней.
$DateFrom = (get-Date).AddDays(-90)
Get-ADUser -Properties * -Filter {enabled -eq $True} -SearchBase "ou=ouname,dc=domainname,dc=suffix" | where { $_.passwordlastset -gt $DateFrom -and $_.mail -ne $null } | Sort-Object {Get-Random} | select name, sAMAccountName -First 10