В этом случае я бы также использовал XPath. @TomWij предоставил правильный xpath.
В случае, если выражение xpath будет слишком сложным, я бы наверняка использовал «классический» подход.
$x.Users.User | ? { $_.Friends.Friend.Name -eq 'Bar' }
(в этом случае, если у вас нет режима сценария, не имеет значения, что нет элемента Friends
. $_.Friends
вернет $null
и $null.Friend
вернет $null
и т. д. Наконец, $null -eq 'Bar'
возвращает false, а элемент удаляется с помощью Where-Object)