Passively monitored services with variable times of relevnce

I have a situation where we have several windows machines across several sites pumping passive monitoring information to a central Nagios server.

These machines are configured to check for the state of certain executables etc. and report back to the server (using nsclient++ and nsca).

These machines, however, are workstations… some are not on every day and even when some of them are switched on, on some days some of the services being monitored don’t need to be running…
On the days when these services are meant to be running they DO have to be monitored however.

What the current situation results in is a given site operator receiving messages (we have Nagios hooked up to a screen-daemonised CenterIM for MSN and XMPP connectivity) for services which don’t need to be running on the day, and me seeing a sea of red in both the nagios web interface and the nagios firefox plugin I’ve been using of late.

Now timeperiods as applied to checks only work on active checks… So I can’t apply a time period to the checks…

How does one get around this kind of situation?