Votre fonction renvoie une sortie formatée au lieu du tableau lui-même :
$DataSet.Tables[0] | ft -AutoSize
Supprimez le | ft -AutoSize
et vous pourrez travailler avec les données réelles de la table :
$Result1 = Invoke-MySql -Query $Query1 |
Where-Object { $_.gid -eq 2122322 } |
Select-Object -Expand key3
Format-*
Les applets de commande servent à formater les données lorsqu'elles sont présentées à l'utilisateur. Jamais utilisez-les sur des données qui devraient faire l'objet d'un traitement ultérieur (en gros, ne les utilisez jamais dans une fonction).