Если есть возможность использовать сторонние разработки то есть тьма софта для подобных вещей, подход хорош тем что будет работать на всех виндах одинаково, этот сторонний софт можно вызывать из командной строки и передавать параметры, но это уже конкретно у каждого софта по своему:
http://www.winappslist.com/utilities/shutdown.htm
http://www.sinnercomputing.com/SlamR.htm
Плюс тут инетесный посто сделал goretsky, может пригодится:
http://help.lockergnome.com/lofivers...hp/t33267.html