Hi Daniel,
The details on how to organize overnight test runs depend on how your build and test processese organized and test environment.
But I'll try to explain in general how to do that.
1) Create a batch file that will execute test (and optinally make some preparation operations like update test sources from version control, copy latest builds, kill existing testexecute processes as they will prevent launching tests etc, you can also add logoff in the end to completely log off from the test machine after test).
2) create an .rdp file on another machine, it should connect to your test machine via rdp:
Start->Run - mstsc, or Start->All Programs ->Accessories -> Remote Desctop Connection. Make all settings you need (mark the password to be saved) and then save the rdp file - 'save as'. Make sure that doubleclicking that file invokes remmote desktop automatically
You can just set 'start program on connection' there to launch batch file from the step1, but it didn't work for me everyehere (at least it didn't on Vista and Windows 7 due to some strange bug), so if it won't for you you may use psexec utility to launch process remotely in the rdp session.
3) Create batch file that launches this rdp file, and then (optionally, if 'launch program on connection' won't work) executes your test in remote session interactively with psexec (you should specify correct session number after 'i' parameter there).
4) Put it on schedule e.g using standard windows task scheduler.
In my case the tests are triggered from build server after the nightly builds are ready - I made this with a separate automated build studio macro, but that's already another story...
Regards,
Pavel