Короче говоря, фильтр - это своего рода расширенная функция, которая может использовать только блок процесса.Исходя из этого, может использоваться для манипулирования (фильтрации, изменения ...) объектов конвейера.Они также позволяют вам, например, предоставлять предопределенную функцию фильтра с модулем, что избавляет вас от необходимости писать сложные Where-Objects
блоки сценариев 100 раз.Это также дает вам возможность завершить конвейерную обработку, если объект конвейера соответствует определенным критериям, вам нужно только использовать ключевое слово break
внутри фильтра.
о функциях
Фильтры
Фильтр - это тип функции, которая выполняется для каждого объекта в конвейере.Фильтр напоминает функцию со всеми ее операторами в блоке Process.Следующий фильтр принимает записи журнала из конвейера и затем отображает либо всю запись, либо только часть сообщения записи:
filter Get-ErrorLog ([switch]$message)
{
if ($message) { Out-Host -InputObject $_.Message }
else { $_ }
}
Эта ссылка предлагает хорошее объяснение о включенииНекоторые примеры.
Надеюсь, это поможет.