internal/functions/other/Get-FilterObject.ps1
|
function Get-FilterObject { <# .SYNOPSIS Filter input object via several crieria. .DESCRIPTION Filter input object via several crieria. .PARAMETER InputObject The text to convert. .PARAMETER Criteria Hashtable of filter criteria .EXAMPLE PS C:\> Get-FilterObject -InputObject $usageReport -Criteria $criteria Filter input object. #> param ( [Parameter(Mandatory = $true)] [array]$InputObject, [Parameter(Mandatory = $true)] [hashtable]$Criteria ) $filteredObject = $InputObject foreach ($criterion in $Criteria.GetEnumerator()) { $property = $criterion.Key $value = $criterion.Value $filteredObject = $filteredObject | Where-Object { $_.$property -eq $value } } $filteredObject } |