Я создал интерфейс powershell, который по существу собирает информацию, а затем отправляет эту информацию на внешний скрипт PS через Start-Job. У меня есть таймер, который запускает работу-каждую секунду и обновляет окно вывода с STDOUT из заданий, которые я создал.Регистрация результатов работы Powershell
Внешний PS Автор сценария:
Этот скрипт имеет множество функций (которые используют многие командлеты), и будет печатать сообщения через Write-Verbose в журнал. Проблема в том, что иногда в этих функциях я печатаю сообщения и/или также возвращаю значение.
Как мы все знаем, все, что возвращает функция, помещается в стандартный вывод. Поэтому в любое время функция возвращает значение, это значение печатается в элементе управления Output Rich Textbox. Я не хочу этого. Кроме того, если я использую многословен, сообщение не печатается в контроле (однако, она печаталась на консоль)
То, что я хочу: только печати сообщения в моем богатом текстовом поле и мой журнал file, без возвращаемых значений функции в потоке (если только они не относятся к самому сообщению).
Примечания: Я снова пишу это приложение из приложения VB.NET, в приложение Powershell студии ... и я заметил, ранее это делается в потоковом STD Output в текстовом поле, используя аналогичный внешний сценарий powershell - за исключением того, что скрипт использовал WRITE-HOST. Для меня это не имеет смысла, поскольку запись-хост даже не предполагается помещать в поток.
Альтернативный подход:
У меня был рабочий пример позволяя работы добавить к самому бревну, а затем с вводного UI Get-Content -tail 1 ... Это будет работать, за исключением того, что некоторые моих сообщений будет напечатано на нескольких строках, и он не потянет все, как ожидалось. Если у кого-то есть способ получить любое количество строк в журнале в любое время, дайте мне знать. Это может быть проще, чем мой нынешний подход.
Out-Null или присвоение результатов функции переменной делает то, что мне нужно. Благодарю. Я пытался приспособиться к ситуации, когда мне понадобилась бы ценность, чтобы быть в потоке, но я полагаю, что я могу работать с ней таким образом. – Zephyrus1898
звучит неплохо, в общем, вы хотите, чтобы ваши функции были довольно атомарными, поэтому возвращаем только те значения, которые вы на самом деле хотите быть частью потока вывода, все, что вы хотите в подробных предупреждениях или потоках ошибок. –