приём-работа powershell находят, если состояние не выполнено - PullRequest
0 голосов
/ 23 октября 2019

У меня есть пара Start-Job в скрипте PowerShell, я хотел бы знать, есть ли лучший способ узнать, не удалось ли одному из них, это то, что я получил до сих пор, спасибо.

#Wait for the background jobs
$Jobs | Wait-Job
#Get the data from them
$Data = $Jobs | Receive-Job

Write-Host "Printing Data"


foreach($job in $Jobs)
{
    if($job.State -eq "Failed")
    {
        exit -1
    }
}

exit 0

1 Ответ

0 голосов
/ 23 октября 2019
exit (0, -1)[$Jobs.Failed -contains 'Failed']
  • Использование перечисления членов , $Jobs.Failed возвращает значения свойств .Failed всех заданий в массиве $Jobs в виде массива.

  • -contains 'Failed' проверяет массив значений на наличие строки Failed.

  • [...] использует полученное логическое значение в качестве индекса в массиве 0, -1;если логическое значение равно $false, оно приводится к индексу 0, если оно равно $true, оно приводится к 1, выбирая соответствующий код выхода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...