AD: удаление устаревших записей ПК
В небольших организациях часто бывает так: компьютер списали, из домена вывели, а учетку в AD забыли удалить. Со временем таких “осиротевших” записей становится всё больше – и вот уже список объектов в AD раздувается, мешает управлению и порождает бардак.
Найти такие “забытые” объекты можно с помощью встроенного инструмента PowerShell.
Скрипт ниже ищет компьютеры, которые не логинились в домен 90+ дней, сохраняет список в файл и отправляет его через SMTP:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# Настройки $days = 90 $time = (Get-Date).AddDays(-$days) $exportPath = "C:\Scripts\StaleComputers.csv" # Поиск устаревших компьютеров $computers = Get-ADComputer -Filter {LastLogonDate -lt $time -and Enabled -eq $true} -Properties LastLogonDate | Select-Object Name, LastLogonDate, DistinguishedName # Экспорт в CSV $computers | Export-Csv -Path $exportPath -NoTypeInformation -Encoding UTF8 # Параметры SMTP $smtpServer = "smtp.yourdomain.local" $from = "report@yourdomain.local" $to = "admin@yourdomain.local" $subject = "Отчет: Устаревшие учетные записи компьютеров" $body = "Во вложении список компьютеров, не входивших в домен более $days дней." # Отправка письма Send-MailMessage -From $from -To $to -Subject $subject -Body $body -SmtpServer $smtpServer -Attachments $exportPath |
Идеально запускать такой скрипт по расписанию через Task Scheduler раз в месяц!