Ihre Funktion gibt statt der Tabelle selbst eine formatierte Ausgabe zurück:
$DataSet.Tables[0] | ft -AutoSize
Entfernen Sie den | ft -AutoSize
und Sie können mit den eigentlichen Tabellendaten arbeiten:
$Result1 = Invoke-MySql -Query $Query1 |
Where-Object { $_.gid -eq 2122322 } |
Select-Object -Expand key3
Format-*
Cmdlets dienen zum Formatieren von Daten, wenn sie dem Benutzer angezeigt werden. Niemals Verwenden Sie sie für Daten, die weiter verarbeitet werden sollten (verwenden Sie sie grundsätzlich niemals innerhalb einer Funktion).