There are 2 distinct parts to your question as far as I see it.
- Creating the scheduled task. When you're on for example W2K12R2, you can use the cmdlets from the ScheduledTasks module
- The restart of the servers. You can hard-code the order in the script, or read the order from an external file, which I think is more flexible. Basically you will be using the Restart-VMGuest cmdlet with an appropriate sleep between the different VMs.