Я хочу вывести результат командлета (Invoke-Command) в случае успеха и добавить пользовательское сообщение, если результат равен нулю. Код, показанный ниже, дает желаемые результаты, за исключением случая нулевого ответа, он просто ничего не выводит в этой строке.
Я не могу перенаправить напрямую в оператор if, и не могу вывести при 2 противоположных условиях(Верно и Неверно). Можно ли получить пользовательский ответ на $ null, не подавляя нормальный вывод при успешном завершении?
Invoke-Command -ComputerName PC1, PC2, PC3 -Scriptblock {get-eventlog system | where-object {$_.eventid -eq 129} | select MachineName, EventID, TimeGenerated, Message -last 1}
Если вы запускаете блок кода примера, предполагая, что у ПК1 и ПК3 есть событиеID, но PC2 нет, вывод просто пропустит PC2.
Я хочу вывести что-то вроде «Событие не найдено» в этом случае.
Поместить всю вещь в цикл и затем запуститьрезультаты через другие условные циклы снижают производительность, поэтому это не идеальное решение.