Sure, try something like this
$si=get-viewServiceInstance
$scheduledTaskManager=Get-View$si.Content.ScheduledTaskManager
Get-View$scheduledTaskManager.ScheduledTask|
where {$_.Info.Action.Name-eq"PowerOffVM_task"} |
Select@{N="Name";E={$_.Info.Name}},
@{N="Description";E={$_.Info.Description}},
@{N="Enabled";E={$_.Info.Enabled}},
@{N="VM";E={Get-View$_.Info.Entity|Select-ExpandPropertyName}},
@{N="Notification";E={$_.Info.Notification}},
@{N="Frequency";E={ switch($_.Info.Scheduler.GetType().Name){ 'OnceTaskScheduler' { "Once" } 'AfterStartupTaskScheduler'{ "After Startup" } 'HourlyTaskScheduler' { "Hourly" } 'DailyTaskScheduler' { "Daily" } 'WeeklyTaskScheduler' { "Weekly" } 'MonthlyByDayTaskScheduler' { "Monthly" } 'MonthlyByWeekdayTaskScheduler' { "Monthly" } } }},
@{N="Interval";E={$_.Info.Scheduler.Interval}},
@{N="Start Hour";E={$_.Info.Scheduler.Hour}},
@{N="Start Minute/Delay";E={$_.Info.Scheduler.Minute}},
@{N="Weekday";E={$_.Info.Scheduler.Weekday}},
@{N="Offset";E={$_.Info.Scheduler.Offset}},
@{N="Day of the Month";E={$_.Info.Scheduler.Day}},
@{N="Monday";E={$_.Info.Scheduler.Monday}},
@{N="Tuesday";E={$_.Info.Scheduler.Tuesday}},
@{N="Wednesday";E={$_.Info.Scheduler.Wednesday}},
@{N="Thursday";E={$_.Info.Scheduler.Thursday}},
@{N="Friday";E={$_.Info.Scheduler.Friday}},
@{N="Saturday";E={$_.Info.Scheduler.Saturday}},
@{N="Sunday";E={$_.Info.Scheduler.Sunday}},
@{N="Next Run";E={$_.Info.NextRunTime.ToLocalTime().ToString()}},
@{N="Active Time";E={$_.Info.Scheduler.ActiveTime.ToLocalTime().ToString()}},
@{N="Run At";E={$_.Info.Scheduler.RunAt.ToLocalTime().ToString()}}
Note that I converted the dates to local time, if you don't want that remove the ToLocalTime method from the last 3 lines.