Benutzer mit den meisten Antworten
Group-Object gibt System.Collections.ObjectModel.Collection`1[System.Management.Automation.PSObject] aus

Frage
-
Hallo zusammen,
ich lese einen Datensatz aus der Datenbank aus.:
$command = $connection.CreateCommand() $command.CommandText = $query $result = $command.ExecuteReader() $table = new-object “System.Data.DataTable” $table.Load($result) ######### $table | Group-Object Gruppenname
beim Gruppieren bekomme ich dann:
Count Name Group
----- ---- -----
7 Gruppe ... {System.Data.DataRow, System.Data.DataRow, System.Data.DataRow, System.Data.DataRow...}Mein Ziel ist es jedoch die Daten auf zu listen die sich in der Gruppe befinden.
Hat jemand eine Idee für mich?
Antworten
-
Hmmmm ... ich glaube das hängt ziemlich stark von Deinen Daten ab. Vielleicht ist ja auch Group-Object nicht so ganz das richtige Cmdlet für Dich und Du brauchst eigentlich was ganz Anderes.
Nur zur Demo:
Get-Process | Select-Object -Property ProcessName,MainWindowTitle | Group-Object -Property ProcessName
Sieht das denn so aus, wie Du es erwarten würdest?
Grüße - Best regards
PS:> (79,108,97,102|%{[char]$_})-join''- Als Antwort markiert Denniver ReiningMVP, Moderator Mittwoch, 8. Februar 2017 03:48
Alle Antworten
-
Es geht ja ums zusammenfassen.
Count Name Group
----- ---- -----
7 Gruppe ... {System.Data.DataRow, System.Data.DataRow, System.Data.DataRow, System.Data.DataRow...}
5 Gruppe2 ... {System.Data.DataRow, System.Data.DataRow, System.Data.DataRow, System.Data.DataRow...}
1 Gruppe3 ... {System.Data.DataRow} -
Hmmmm ... ich glaube das hängt ziemlich stark von Deinen Daten ab. Vielleicht ist ja auch Group-Object nicht so ganz das richtige Cmdlet für Dich und Du brauchst eigentlich was ganz Anderes.
Nur zur Demo:
Get-Process | Select-Object -Property ProcessName,MainWindowTitle | Group-Object -Property ProcessName
Sieht das denn so aus, wie Du es erwarten würdest?
Grüße - Best regards
PS:> (79,108,97,102|%{[char]$_})-join''- Als Antwort markiert Denniver ReiningMVP, Moderator Mittwoch, 8. Februar 2017 03:48
-
Count Name Group ----- ---- ----- 1 acrotray {@{ProcessName=acrotray; MainWindowTitle=}} 1 Adobe CEF Helper {@{ProcessName=Adobe CEF Helper; MainWindowTitle=}} 1 Adobe Desktop Service {@{ProcessName=Adobe Desktop Service; MainWindowTitle=}} 1 AdobeIPCBroker {@{ProcessName=AdobeIPCBroker; MainWindowTitle=}}
Count Name Group ----- ---- ----- 7 Gruppe ... {System.Data.DataRow, System.Data.DataRow, System.Data.DataRow, System.Data.DataRow...} 5 Gruppe2 ... {System.Data.DataRow, System.Data.DataRow, System.Data.DataRow, System.Data.DataRow...} 1 Gruppe3 ... {System.Data.DataRow}
Das ist das Problem, ich bekomme keine Daten die in dem Objekt sind.
$groups = @{} $groups = $table | Group Gruppe, Name $groups | foreach { [pscustomobject] @{ Gruppe = $_.Group | select -Unique -ExpandProperty Gruppe Name = $_.Group | select -Unique -ExpandProperty Name #"Sum Value" = ($_.Group | Measure-Object value) } }
Ich bräuchte eine Schleife die ein Objekt ausgibt das so aussieht:
Count Gruppe Namen ----- ------ ------ 7 Gruppe1 Name1, Name2, Name3
-
$grp = $table | group Gruppe | Select-Object Count, Name, @{L="User";E={($table | Where-Object Gruppe -EQ $_.NAME)}}
Das bringt mich ein Stück weiter, jedoch wieder mit dem Problem: System.Data.DataRow
Count Name User ----- ---- --------- 7 Gruppe {System.Data.DataRow, System.Data.DataRow, System.Data.DataRow, System.Data.Dat... 5 Gruppe2 {System.Data.DataRow, System.Data.DataRow, System.Data.DataRow, System.Data.Dat... 1 Gruppe3 System.Data.DataRow
-
Icke, brauchst du hier noch Hilfe?
Blog: http://bytecookie.wordpress.com
Neu: Powershell Code Manager v5 ! Link
(Schneller, besser + komfortabler scripten.)
Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
Warum das Ganze? Hier gibts die Antwort.
- Bearbeitet Denniver ReiningMVP, Moderator Dienstag, 31. Januar 2017 15:04