I registered in this forum just to answer your question.
I don't understand why everyone use windows with admin accounts and so few people use it as it should be used.
Maybe because windows made users life a hell if you decide to run as limited user.
There at least 2 ways you can do it, one is use windows build in task schedule to create a schedule task that run as admin, then execute it as user with schtasks.exe.
Suppose you created a schedule taks named mydefragtask:
C:\winnt\system32\schtasks.exe /run /tn mydefragtask
My favorite way is use the wonderful auto-it to create a executable that run as admin, without a need to supply username and password.
Here a stripped down version of my script.
; uncomment if you don't want trayicon
;replace with your admin credentials
Local $sUserName = "administrator"
Local $sPassword = "password"
; Run a command as the other user.
RunAs($sUserName, @ComputerName, $sPassword, 1, @ProgramFilesDir & "\MyDefrag v4.1.2\Scripts\FastOptimize.MyD", @ProgramFilesDir & "MyDefrag v4.1.2\Scripts\")
You need to install autoit to compile, but it is freeware as mydefrag.http://www.autoitscript.com/autoit3/
The compiled exe is encrypted, your password cannot be easily found inside.
With little changes you can adapt this script to run almost everything as administrator without a need to supply credentials everytime.
I just wish some day windows can be versatile as linux, with tools like passwordless sudo.