I've written two short scripts which can count the number of times a computer has turned on.
Unfortunately there isn't an event log for specifically for restarts, only for when the Windows starts up and shuts down.
These script searches the event log for event 12
which is logged when Windows starts. It then tells you how many times it has counted.
VBS Script: Count number of times computer has turned on
count = 0
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colLoggedEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent Where Logfile = 'System'" _
& " and EventCode = '12'")
For Each objEvent in colLoggedEvents
count = count + 1
Next
wscript.echo "Number of times operating system has started: " & count
VBS Script: Remotely count number of times computer has turned on:
count = 0
strComputer=InputBox ("Enter the network name for the remote computer")
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colLoggedEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent Where Logfile = 'System'" _
& " and EventCode = '12'")
For Each objEvent in colLoggedEvents
count = count + 1
Next
wscript.echo "Number of times operating system has started: " & count
Source VBS Script – Count Number of times computer has turned on