¿Cómo usar efectivamente el parámetro `-Filter` en los cmdlets de Active Directory?

Con demasiada frecuencia veo el siguiente tipo de código en este sitio, específico de los cmdlets de AD:

Get-ADUser -Filter * | Where-Object { $_.EmailAddress -eq $email }

El problema es que devuelve cada objeto de usuario en Active Directory y luego lo procesa por segunda vez. ¿Cómo podemos mejorar esto, no solo para reducir el tiempo que lleva ejecutar el script, sino también para quitar la carga innecesaria de Active Directory y posiblemente de la red?

Respuestas a la pregunta(1)

Su respuesta a la pregunta