Sua variável $x
contém uma matriz. Quando você canaliza um array para uma função, o pipeline não passa o array instance para a função; ele passa os elementos da matriz para o bloco process
da função, um de cada vez.
Get-Member
está realmente mostrando os membros da string 'c'
- o último elemento da matriz - em vez dos membros da própria matriz. (Observe que a saída em sua captura de tela começa com TypeName: System.String
.)
Se você quiser ver os membros para $x
(a matriz), passe-a para Get-Member
usando o parâmetro -InputObject
, em vez de inseri-la.
$X='a','b','c'; gm -InputObject $x
Depois, você verá que seu $x
é do tipo System.Object[]
e não contém um método Remove
. (Você não pode remover itens porque isso alteraria o tamanho da matriz e as matrizes no .NET são de tamanho fixo.)