Powershell обладает некоторыми тонкостями в работе с XML, главным образом в том, что узел получает динамические свойства, представляющие его подузлы. Итак, учитывая XML
<foo>
<bar/>
<bar/>
</foo>
объект XML, созданный из этого, имеет свойство "foo", а возвращаемый объект имеет свойство "bar".
> $x=[xml]"<foo><bar moo='meh'/><bar meow='bleh'/></foo>"
> $x.foo
bar
---
{bar, bar}
> $x.foo.bar[0]
moo
---
meh
> $x.foo.bar[1]
meow
----
bleh
Иногда очень удобно.