2017-10-20 76 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