从 Powershell 中的 ScheduledTask 数组中提取值

Extract a value from a ScheduledTask array in Powershell

各位。我是 Powershell 的新手。非常感谢您的帮助。

我的问题如下。我有一个 powershell 小脚本,可以为我提供服务器启动、停止、终止...任务。

这是命令

PS P:\> Get-ScheduledTask -TaskPath "*$someString*" | Get-ScheduledTaskInfo | Select TaskName,LastRunTime,NextRunTime

TaskName       LastRunTime                             NextRunTime
--------       -----------                             -----------
Archive        10/14/2017 7:00:00 AM                   10/21/2017 7:00:00 AM
Kill           10/15/2017 12:50:50 PM                  10/22/2017 12:50:50 PM
Restart        10/20/2017 12:00:00 AM                  10/23/2017 12:00:00 AM
Start          10/15/2017 1:00:00 PM                   10/22/2017 1:00:00 PM
Stop           10/13/2017 5:30:30 PM                   10/20/2017 5:30:30 PM

我想提取对应于Start的LastRunTime值和对应于stop的NextRunTime值,并将它们转换成String。

谢谢。

在请求的 OP 格式中不是很有用,但你可以

C:\> $TaskNames = "Start","Stop"
C:\> $data = Get-ScheduledTask -TaskName $TaskNames | Get-ScheduledTaskInfo
C:\> [string]"$(($data | sort)[0].LastRunTime) $(($data | sort)[1].NextRunTime)"
10/20/2017 08:15:15 10/21/2017 09:16:16

这只有在您的任务名称确实按字母顺序排列时才能正常工作。如果排序结果不同,请更改索引([] 中的数字)。