I've found that a scheduled restart doesn't work on the local machine, instead you can schedule it on another server and use shutdown's -m \\MachineName parameter to restart a remote machine.