Sure, try something like this
$si = get-view ServiceInstance
$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 -ExpandProperty Name}},
@{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.