从Powershell中的ScheduledTask数组中提取值

时间:2017-10-20 15:12:58

标签: arrays powershell extract

大家。我是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。

谢谢。

1 个答案:

答案 0 :(得分:1)

在请求的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

只有当您的任务名称实际按字母顺序排列时,才能正常工作。如果排序以不同的顺序出现,则更改索引​​([]中的数字)。