I'm trying to use Win32::OLE to access the TaskScheduler [on Win2K3].  I would 
like to get all the configured tasks, finding any that contain a pattern in the 
task name and then display all/any details I can about those tasks.

I'm using OleView.exe to look at the SCHEDULERLib (Scheduler 1.0 Type Library).

Schedule:
  Scheduler.EnumTask:
    CLSSID:   {056ADD67-DDB0-47BE-9F7D-DC652206F766}
    TypeLib:  {C83F84A8-241A-4837-A6BA-1C5131141743}
    Library:  Win32::TieRegistry=HASH(0x139e35c)
      1.0\ => Scheduler 1.0 Type Library
  Scheduler.Schedule:
    CLSSID:   {4EF17F94-3975-4ACF-B228-29485BDE5860}
    TypeLib:  {C83F84A8-241A-4837-A6BA-1C5131141743}
    Library:  Win32::TieRegistry=HASH(0x13bb3cc)
      1.0\ => Scheduler 1.0 Type Library
  Scheduler.Task:
    CLSSID:   {3AEC7772-2766-4C67-8487-4189C55DDE4E}
    TypeLib:  {C83F84A8-241A-4837-A6BA-1C5131141743}
    Library:  Win32::TieRegistry=HASH(0x13bb45c)
      1.0\ => Scheduler 1.0 Type Library
  Scheduler.Trigger:
    CLSSID:   {D8D9EEBC-0640-47AC-84FF-97C3A6B2FC79}
    TypeLib:  {C83F84A8-241A-4837-A6BA-1C5131141743}
    Library:  Win32::TieRegistry=HASH(0xdc6ff4)
      1.0\ => Scheduler 1.0 Type Library

I have to say I'm quite lost and have reviewed Jan Dubois' doco on Win32::OLE 
but just haven't been able to understand it well enough.

use Win32::OLE qw(in);

$obj = Win32::OLE->new("Scheduler.Schedule")
  or die "Error OLE:".Win32::OLE->LastError();

$obj->Reset;
$obj->Activate;
foreach $tsk (in $obj->Invoke( 'EnumAllTask')) {
#         print $tsk->Name, "\n"; # this generates an error
    my %NAMES;
    my @props = map { $_->{Name} } ( in $tsk->{Properties_} );
    print "Props = ", join( ", ", @props), "\n";
}

# no output is produced


--
Paul J. Brzezinski
Integration Engineering - GM
HP Enterprise Services
_______________________________________________
Perl-Win32-Users mailing list
Perl-Win32-Users@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to