2017-10-20 3 views
0

alle. Ich bin ein Neuling in Powershell. Ihre Hilfe wird sehr geschätzt.Extrahieren Sie einen Wert aus einem ScheduledTask-Array in Powershell

Meine Frage ist die folgende. Ich habe ein Powershell kleines Skript, das mir Server-Start, Stop, Kill ... Tasks zur Verfügung stellt.

Hier ist der Befehl

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 

Ich mag würde den Wert von LastRunTime zu extrahieren, und den Wert von NextRunTime starten entspricht, zu stoppen, entspricht und sie in einen String konvertiert.

Vielen Dank.

Antwort

1

Nicht sehr nützlich in dem gewünschten OP-Format, aber hier gehen Sie

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 

dies nur richtig funktionieren, wenn Ihre Aufgabe Namen tatsächlich in alphabetischer Reihenfolge sind. Ändern Sie die Indizes (Zahlen in []), wenn die Sortierung in einer anderen Reihenfolge erfolgt.

+1

Funktioniert wie ein Charme! Vielen Dank. – taboubim

Verwandte Themen