Я работаю над сценарием очистки AD, но у меня возникают проблемы с его корректной работой. Параметры, которым я пытаюсь соответствовать: Пользователь не входил в систему в течение последних 90 дней и был создан до 90 дней назад. Проблема в том, что он получает пользователей, которые были созданы в течение последних 90 дней. Вот сценарий, над которым я работаю:
Import-Module ActiveDirectory
$OU="ou=Users,ou=middle,ou=top,dc=contoso,dc=com"
$CSV_USERS=""
foreach ($x in $OU) {
$USERS=Search-ADAccount -AccountInactive -Timespan 90.00:00:00 -Searchbase $x | Where {$_.whenCreated -le ((Get-Date).AddDays(-90).toFileTime())}
if ($USERS) {
$CSV_USERS=$CSV_USERS + $USERS
}
}
$date=Get-Date -Format "dMy"
$path="C:\Scripts\TestScript_disable_users_"+$date+".csv"
if($CSV_USERS) {
Out-File -FilePath $path -InputObject $CSV_USERS
}
Как только скрипт заработает правильно, я добавлю следующие строки в $ CSV_USERS = $ CSV_USERS + $ USERS
$USERS | Disable-AdAccount
$USERS | Move-AdObject -TargetPath "OU=Inactive employees,dc=contoso,dc=com"
Может ли кто-нибудь помочь мне выяснить, почему параметры «| Где» не работают для меня?