Schedule a restart using task scheduler.
Here's one that I like to use from time to time to schedule a restart for updates.
Open Task Scheduler and click Create Basic Task... and give it a name.
Click Next >. I'll be running this task just once so I'll click One time.
Click Next >. Schedule it
Click Next >. We're going to be starting a program so click the radio button next to Start a program.
Click Next >. The name of the program is shutdown and in order for it to restart properly, we need to add some arguments. For a list of those arguments, click here.
I will be using /r /f /t 0. /r to restart, /f to force any running applications to close and /t 0 so it waits for 0 seconds.
Click Next >. Verify your settings. This task requires some extra settings to guarantee that it runs properly so check the box next to Open the Properties dialog for this task when I click Finish and click Finish.
I may or may not be logged in at the time this task is going to run so I clicked the radio button next to Run whether user is logged on or not. Click OK.
Enter your password and click OK.
Now you should be all set.
If you would like to use Powershell instead, there is also a method for that. Instead of typing shutdown with the arguments /r /f /t 0, you can type powershell with the arguments restart-computer -force. Here is some more information about it.