To use PowerShell, you would probably have to do it through WMI (i.e. @frikozoid's very good answer). Unfortunately it's not is possible to get the temperature reading through WMI. The MSDN documentation says
"Real-time readings for the CurrentReading property cannot be
extracted from SMBIOS tables. For this reason, current implementations
of WMI do not populate the CurrentReading property. The CurrentReading
property's presence is reserved for future use."
:-(
The reasoning is that each mother board manufacturer has different ways of returning temperature values which would need motherboard specific dll's, etc....
The easiest tool I found for monitoring motherboard temperatures is SpeedFan. It supports almost every motherboard out there, and is pretty easy to use.
As for Temperature, you generally want your chipset to stay below 60 C. CPU temps could go up to 70C, as well as GPU's. In general if you can keep everything below 60C things will run very well for a long time. I know on my system if my GPU went above 70C, things started to get funky, and usually the system would crash.
---Edit---
It looks like you may be able to do part of that through SpeedFan. SpeedFan has a way to configure events (see: Configure Events) So you can set it to execute a script when your temperature hits a certain value.