No, it will only send an email for the pools that get through the Where-clause.
In other words, those pools for which 95% of the maximum is in use.
That is one of the nice features of PowerShell, you get all the objects, filter them with a condition and then take action on the objects that made it through the filter
You can schedule scripts with the Windows Task Scheduler.
See Alan's post called Running a PowerCLI Scheduled task