Команда Search-ADAccount
, являющаяся частью модуля ActiveDirectory, уже предназначена для поиска этого (а также похожих запросов):
$30Days = New-TimeSpan -Days 30
$ExpiringAccounts = Search-ADAccount -AccountExpiring -TimeSpan $30Days -UsersOnly
Вы можете, например, выполнить итерации по этимпользователей и объедините его с Send-MailMessage
для отправки электронных писем.