Как добавить результаты функции в массив в Powershell - PullRequest
0 голосов
/ 16 июня 2020

Итак, я новичок в PowerShell, и у меня есть несколько вопросов о том, как писать сценарии с его использованием, но сейчас моя основная проблема заключается в том, что я хочу иметь возможность пинговать все компьютеры в моей сети и получать имена компьютеров этот пинг и поместите их в массив, чтобы я мог получать обновления sh для компьютеров, которые находятся в сети, просто используя один массив, содержащий текущие компьютеры в сети. вот то, с чем я работаю прямо сейчас. сеть), затем он проверяет положительные соединения с помощью оператора if и, наконец, в конце выводит имена компьютеров, которые находятся в сети. Теперь проблема, которую я понимаю из этого, заключается в том, что когда я использую foreach l oop, он будет работать со всеми известными компьютерами, и поскольку каждый компьютер проходит через l oop, он заменяется предыдущим, но я хочу каждый, кто возвращается в сеть, будет сохранен в массиве. Есть ли способ сделать это с текущим форматом или есть определенный способ настроить то, что у меня есть, чтобы получить желаемый результат?

1 Ответ

1 голос
/ 16 июня 2020

Идиоматическое c решение вопроса «как отфильтровать список по условию и сохранить результаты» заключалось бы в перенаправлении входных данных на Where-Object:

$onlineComputers = $204computernames |Where-Object { Test-Connection $_.name -Count 1 -Quiet }
...