Private/Find-AMContainer.ps1
function Find-AMContainer { param ( [Parameter(Mandatory = $true)] [array]$Elements, [Parameter(Mandatory = $true)] [string]$Id, [Parameter(Mandatory = $false)] [ref]$FoundContainer ) foreach ($element in $Elements) { if ($element.id -eq $Id) { $FoundContainer.Value = $element return $true } # Recursively check inside containers if ($element.ContainsKey('items') -and $element.items) { $found = Find-AMContainer -Elements $element.items -Id $Id -FoundContainer $FoundContainer if ($found) { return $true } } } return $false } |