#!/cygdrive/c/perl/bin/perl -w use Win32::TaskScheduler; use strict; my $taskName = "weekly reboot"; my $APP_NAME = q#c:\\perl\\bin\\perl.exe -MWin32 -e "Win32::InitiateSystemShutdown(' ','Rebooting',5,1,1);"#; my $ACCOUNT_NAME = "bob"; my $ACCOUNT_PW = "jones"; my $scheduler = Win32::TaskScheduler->New(); $scheduler->Activate( $taskName ); # # This adds a weekly schedule. my %taskTrigger = ( 'BeginYear' => 2007, 'BeginMonth' => 1, 'BeginDay' => 1, 'StartHour' => 1, 'StartMinute' => 0, 'TriggerType' => $scheduler->TASK_TIME_TRIGGER_WEEKLY, 'Type'=>{ 'WeeksInterval' => 1, 'DaysOfTheWeek' => $scheduler->TASK_SUNDAY, }, ); $scheduler->NewWorkItem( $taskName, \%taskTrigger ); $scheduler->SetApplicationName( $APP_NAME ); # run forever $scheduler->SetMaxRunTime( $scheduler->INFINITE ); $scheduler->SetAccountInformation( $ACCOUNT_NAME, $ACCOUNT_PW ); $scheduler->Save();