# Kod planuje wykonanie zadania w kad niedziel o godzinie 1:30

use Win32::OLE;
$Win32::OLE::Warn = 3;

use constant MON => 1;
use constant TUE => 2;
use constant WED => 4;
use constant THU => 8;
use constant FRI => 16;
use constant SAT => 32;
use constant SUN => 64;

# ------ KONFIGURACJA SKRYPTU ------
$strComputer = '.';
$strCommand = 'c:\\perl\\bin\\perl.exe c:\\scripts\\diskchecker.pl';
$strStartTime = '********013000.000000-240'; # 01:30 EDT 
               # YYYYMMDDHHMMSS.MMMMMM-/+TZO 
$boolRepeat = 1; # Okresowe wykonywanie zadania
$intWeekDay = SUN; # Wykonanie zadania w kad niedziel
$intMonthDay = ''; # Po ustawieniu wartoci zadanie bdzie wykonywane co miesic
$boolInteract = 0; # Brak interakcji z pulpitem
# ------ KONIEC KONFIGURACJI ---------
$objWMI = Win32::OLE->GetObject('winmgmts:\\\\' . $strComputer . '');
$objNewTask = $objWMI->Get('Win32_ScheduledJob');
$intRC = $objNewTask->Create($strCommand, $strStartTime, $boolRepeat, $intWeekDay, $intMonthDay, $boolInteract, $intJobID);
if ($intRC != 0) {
    print 'Podczas definiowania zadania wystpi bd: ' . $intRC, "\n";
}
else {
    print "Planowanie wykonania zadania zakoczono z powodzeniem.\n";
    print 'Identyfikator zadania: ' . $intJobID, "\n";
}
