Как извлечь метку времени из вывода командлета с помощью powershell - PullRequest
0 голосов
/ 23 мая 2018

У меня есть следующий вывод из командлета в PowerShell, я хотел бы извлечь метку времени из вывода, чтобы я мог выбрать задания, которые истекли> 24 часа

Command : Get-JAMSEntry -Name * -Server xxxxxx -State Executing

Вывод:

Entry  Name                   Description
-----  ----                   -----------
1     Sample                  Executing, elapsed time: 602.18:57:06.
3     Sample                  Executing, elapsed time: 481.18:57:02.
5     Sample                  Halted , elapsed time: 484.18:56:58.
7     Sample                  Hold, elapsed time: 680.18:56:55.
7     Sample                  Executing, elapsed time: 680.18:56:54.
7     Sample                  Executing, elapsed time: 680.18:56:53.
9     Sample                  Halted, elapsed time: 666.18:57:09.
1     Sample                  halted, elapsed time: 684.18:57:01.

Благодарю за помощь.

Спасибо

1 Ответ

0 голосов
/ 23 мая 2018

Когда вы перенаправляете вывод вашей команды в Select-Object, который вставляет вычисленные свойства, разделяя описание сначала в ,, а затем в :, например:

Get-JAMSEntry -Name * -Server xxxxxx -State Executing |
    Select-Object Entry,Name,@{n='State';e={$_.Description.split(',')[0]}},
        @{n='ElapsedHrs';e={($_.Description.Split(',')[1]).Split(':')[1].Trim()}}

youВы получите этот вывод:

Entry Name   State     ElapsedHrs
----- ----   -----     ----------
1     Sample Executing 602.18
3     Sample Executing 481.18
5     Sample Halted    484.18
7     Sample Hold      680.18
7     Sample Executing 680.18
7     Sample Executing 680.18
9     Sample Halted    666.18
1     Sample Halted    684.18

, который вы можете дополнительно уменьшить, добавив

|Where-Object {[double]$_.ElapsedHrs -gt 670}

, чтобы получить только совпадающие значения

Entry Name   State     ElapsedHrs
----- ----   -----     ----------
7     Sample Hold      680.18
7     Sample Executing 680.18
7     Sample Executing 680.18
1     Sample halted    684.18
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...