We recently had to power down our main data centre, three times in fairly quick succession due to major power work that had to be carried out (no building UPS or generator unfortunately... boo!).
Doing it was all well and good, but so many things are inter-connected, we found we almost had circular dependencies of things, so we had to be very careful in shutting down and bringing back services. The end result was something different every time wouldn't shut down, and something different every time wouldn't come back right, causing downtime to users.
In testing and development it's never an issue when you're bringing something new up. It's when - six months down the line - you've integrated it into everything that you're really into a tangled web of systems, and taking it all down results in much hilarity. We were shutting down 90-odd servers; Windows, Linux, Solaris, FreeBSD, and various other things like Cisco CallManager and other random network kit. It's NOT something I'd want to do again, and having it all scripted would scare the crap out of me quite frankly. It'd require so much testing and checking, you'd be bringing things up and down all the time and causing more trouble than just keeping it up. Try and save the power elsewhere - raise the A/C temp, or virtualise some stuff.