It's been ages since I've been searching for a good task scheduler that also can schedule scripts like:
1] Connecting to a certain connection at a certain time.
2] Disconnecting from a certain connection at a certain time.

I'm using a BSNL Dataone internet connection. I don't get charged for using the internet from 2am to 8am. I ain't sacrificing my sleep to download stuff, ergo I need to find a good scheduler.

So far, I found:

1] AlarmWiz. You can download AlarmWiz here, but it's shareware and it lasts only for 30 days. It can run scripts and launch applications at whatever time you desire, it works great too.

2] If you're just itching to do something cooler what you could do is write a Windows Script file to connect, and schedule that script file for execution at whatever time you wanted it to. To know more about writing scripts just type out the words "Automating the dial-up logon process by using Windows scripting" in your Windows help.

Or, better still let me tell you how to do it using basic DOS commands.
A] Make sure you have administrator privileges first. If not , give yourself some.

B] Open a basic text editor. Type in the command "rasdial your_connection_name your_user_name your_password" without the inverted commas of course. Save this as filename1.bat. ".bat" is the extension for an MS-DOS batch file.

C] Similarly create another file "filename2.bat" with the command "rasdial your_connection_name /DISCONNECT" and there we have it your done.

D] Use Windows task scheduler to run filename1.bat when you want to connect and filename2.bat when you want to disconnect.

3] There's a file in your systemroot\System32\Ras folder called Switch.inf, this file is basically a set of small scripts. SystemRoot is your root directory, or Windows directory.

Thanks to this page on Dial-Up Scheduling.