2017-10-20 78 views
0

everyone。我是Powershell的新手。所以你的帮助非常感谢。从Powershell的ScheduledTask数组中提取一个值

我的问题是以下。我有一个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 

我想提取对应于启动LastRunTime的价值,对应停止NextRunTime的价值,并让他们转换为字符串。

谢谢。

回答

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 

这只会工作的权利,如果你的任务名称实际上是按字母顺序排列。如果排序按不同的顺序出现,请更改索引([]中的数字)。

+1

工程就像一个魅力!谢谢。 – taboubim