Você pode correr
shutdown -r -t ([decimal]::round(((Get-Date).AddDays(1).Date.AddHours(3) - (Get-Date)).TotalSeconds))
Isso obterá o número de segundos entre a hora em que o script é executado e as 3:00 do dia seguinte. Em seguida, passa o resultado para shutdown.exe. Obviamente, isso foi projetado para ser executado antes da meia-noite.