use Win32::OLE 'in'; $objcoll = Win32::OLE->GetObject("WinMgmts://servername")->InstancesOf("Win32_ScheduledJob"); my @x = qw/ Caption Command DaysOfMonth DaysOfWeek Description ElapsedTime InstallDate InteractWithDesktop JobId JobStatus Name Notify Owner Priority RunRepeatedly StartTime Status TimeSubmitted UntilTime /; for $adsobj (in $objcoll) { print ++$i,".===\n",join '', map {" $_:".($adsobj->{$_}||"")."\n"} @x; } ===== 1.=== Caption: Command:calc DaysOfMonth:16 DaysOfWeek: Description: ElapsedTime: InstallDate: InteractWithDesktop:1 JobId:2 JobStatus:Success Name: Notify: Owner: Priority: RunRepeatedly:1 StartTime:********202000.000000+240 Status: TimeSubmitted: UntilTime: 2.=== Caption: Command:calc DaysOfMonth:262144 DaysOfWeek: Description: ElapsedTime: InstallDate: InteractWithDesktop:1 JobId:3 JobStatus:Success Name: Notify: Owner: Priority: RunRepeatedly:1 StartTime:********202000.000000+240 Status: TimeSubmitted: UntilTime: