2016-08-30 5 views
1

Ich habe ein Powershell-Skript, das einen SQL-Befehl ausführt und eine Liste der ID-Nummern zurückgibt.Extrahieren Sie Daten von System.Data.DataRow in Powershell

Wenn ich durch die Liste iteriere, ist es das, was es zurückgibt.

System.Data.DataRow 
System.Data.DataRow 
System.Data.DataRow 
System.Data.DataRow 
System.Data.DataRow 
System.Data.DataRow 

Ich versuchte Out-String meiner Liste hinzufügen,

$q_result = $db.ExecuteWithResults($int_cmd2) 
$table = $q_result.Tables[0] | Out-String 

foreach ($user_info in $table) 
{ 
    write-host $user_info 
} 

aber das gibt eine schlecht formatierte Liste von Zahlen, ist alles ganz rechts mit Registerkarten. siehe unten.

                         GroupID 
                             ------------- 
                               381 
                               382 
                               383 
                               384 
                               385 
                               386 

Ich habe versucht, $user_info.Item[0] in der Schleife, aber das gibt nichts zurück.

Wie kann ich nur die Zahlen aus der Liste extrahieren ?.

Antwort

1

Item ein Methode ist, nicht eine Liste Sie können Index in:

foreach($row in $table) 
{ 
    $row.Item("GroupID") 
} 

oder (unter der Annahme, dass "GroupID" ist die erste Spalte):

foreach($row in $table) 
{ 
    $row.Item(0) 
} 
+0

Danke, habe ich Das 'Item' wurde zusammengemischt und als Eigenschaft auf der MSDN-Seite aufgeführt. – cyberbemon

Verwandte Themen