У меня есть массив запланированных задач и их время выполнения. Я хочу отсортировать массив в следующем порядке, но не могу выбрать для вывода имя задачи и время выполнения.
Я получаю запланированные задачи и время выполнения с удаленного компьютера следующим образом:
$Array = @(Invoke-Command -CN blahcomputernameblah {schtasks.exe /query /fo csv | ConvertFrom-Csv | select "Next Run Time" , TaskName)
Результат примерно такой:
Next Run Time TaskName
------------- --------
6/3/2019 8:00:00 PM \Start Banana
6/3/2019 4:00:00 PM \Start Apple
6/5/2019 9:30:00 AM \Start Orange
6/3/2019 10:15:00 PM \Stop Banana
6/3/2019 6:15:00 PM \Stop Apple
6/5/2019 11:45:00 AM \Stop Orange
Следующей задачей будет \Start Apple at 6/3/2019 4:00:00 PM
.
Итак, я хочу отсортировать этот массив на основе следующего времени выполнения и выбрать -first 1, но я могу получить только следующий запуск без имени задачи. Я преобразую строку даты и времени в DateTime для действия сортировки:
$Array | %{[DateTime] $_."Next Run Time"} | sort | select -First 1
Но я не знаю, как добавить TaskName к выводу
Любая помощь, пожалуйста?