Windows Server 2003 comes with the built-in ability to schedule your server to reboot at any time of your choosing. It is quite simple to set up.

This link has all the information to do: http://www.serverintellect.com/support/windowsserver2003/sched-auto-reboot.aspx