I couldn't get the built in auto restart to work nor any of the other user provided scripts so I pieced together one that works for me. It may or may not work for you but I figured I would share since this is a modding community. You can probably clean up the code since I am far from a programmer.
With this batch file you can -
Set the restart time down to the second
It tells you when your server started and when it is going to restart automatically
It tells you if/when your server crashed and restarts it for you
Time stamps everything so you know when everything happened
No need for BEC or anything else third party, just PowerShell and my server came with it
Checks on your server every 3 seconds and restarts when needed
Timer restarts if your server crashes
This screenshot shows it running at 1 minute intervals to test and display the status messages. I killed the process manually to test the process checker and restart. Then I let it run for the 1 minute and you can see it notifies you that it is time for a restart and does so without user interaction.
Set your restart timer (below is for 4 hour restarts)
Set your launch parameters and folder paths
Run the batch file. Place the batch file in the same folder as arma3server.exe
The Batch File (save as auto_restart.bat or anothername.bat)
If you can improve on this then by all means please do and post your fixes / updates / optimizations.