Sua função está retornando a saída formatada em vez da própria tabela:
$DataSet.Tables[0] | ft -AutoSize
Remova o
| ft -AutoSize
e você poderá trabalhar com os dados reais da tabela:$Result1 = Invoke-MySql -Query $Query1 |
Where-Object { $_.gid -eq 2122322 } |
Select-Object -Expand key3
Format-*
cmdlets são para formatar dados quando são apresentados ao usuário. Nunca use-os em dados que devem estar sujeitos a processamento adicional (basicamente, nunca os use dentro de uma função).