SysFlint AD

Scheduled Active Directory Reports by Email

The difference between a script and a product is mostly the second Tuesday of the month. Anyone can produce a report once. Producing it every month, unattended, in a format the recipients read, and noticing when it fails to run — that is where the actual work lives.

How this is normally done

A scheduled task, a script, and Send-MailMessage. It works, right up until it does not:

The usual scheduled-task approach
# Runs as a service account whose password someone must rotate
$report = Get-ADUser -Filter { Enabled -eq $false } |
              Select-Object Name, SamAccountName |
              ConvertTo-Html | Out-String

Send-MailMessage -To 'security@example.com' -From 'ad-reports@example.com' `
                 -Subject 'Disabled accounts' -Body $report -BodyAsHtml `
                 -SmtpServer 'smtp.example.com'

Where it stops being enough

  • Send-MailMessage is formally obsolete and deliberately unmaintained — Microsoft advises against using it in new work.
  • The service account running the task needs a password, rotation, and an owner.
  • A silent failure looks exactly like a quiet month: no email either way.
  • The formatting is yours to own, forever, in HTML strings inside a script.

What SysFlint AD does instead

Scheduling is part of the product, not a script wrapped around it.

  • Daily, weekly, or monthly schedules per report, configured in the UI.
  • Delivery to different recipients per report — security gets the privileged-access report, the service desk gets expiries.
  • CSV and PDF attachments that are readable without a spreadsheet cleanup pass first.
  • Every run retained, so the report can show what changed since last time.
  • Failure is visible: a run that does not complete is reported, rather than resulting in silence.

Frequently asked questions

What SMTP setup does it need?
Your own internal SMTP relay or mail server — the same one your other infrastructure notifications already use. There is no SysFlint-hosted mail service in the path.
Can different reports go to different people?
Yes. Recipients are configured per scheduled report, which matters in practice: privileged-access findings and password-expiry lists rarely belong in the same inbox.
Can I still run a report on demand?
Yes. Scheduling is additive — every report can be run immediately whenever an auditor asks a question that will not wait until Monday.

Get SysFlint AD

Free, forever. No license keys, no per-user pricing, no seat counts, no trial timer.