Verwenden des Cmdlet \"Group-Object\"

Anordnen von Daten in Gruppen

Das Cmdlet Group-Object ist wirklich sehr praktisch: Es ermöglicht Ihnen, Daten auf ganz einfache Weise nach einer bestimmten Eigenschaft zu gruppieren und dann schnell festzustellen, wie viele Elemente sich in den resultierenden Kategorien befinden. Der folgende Befehl beispielsweise verwendet das Cmdlet Get-Service, um Informationen über die auf einem Computer installierten Dienste abzufragen, und gruppiert die zurückgegebenen Daten dann nach dem Status:

Get-Service | Group-Object status

Was bedeutet das? Schon ein Sprichwort sagt, ein Bild sagt mehr als tausend Worte:

Count Name                      Group
----- ----                      -----
   56 Running                   {AdobeActiveFileMonitor4.0, ALG, ASChannel, ...
   42 Stopped                   {Alerter, AppMgmt, aspnet_state, Browser...}

Dieser Befehl gruppiert die Dateien aus dem Ordner "C:\Scripts" nach der Dateierweiterung:

Get-ChildItem c:\scripts | Group-Object extension

Sie erhalten mit diesem Befehl etwa die folgenden Informationen zurück:

Count Name                      Group
----- ----                      -----
    1                           {200}
    2 .gif                      {38DF6AB1-13D4-409C-966D-CBE61F040027.gif, d...
    5 .xls                      {5-15-06.xls, 5-17-06.xls, Book1.xls, invent...
   15 .txt                      {alias.txt, ExcelData.txt, help.txt, methods...
    3 .msh                      {a_new_file.msh, b_new_file.msh, c_new_file....
    6 .zip                      {calculatorv11.zip, IronPython-1.0-Beta2.zip...
    4 .log                      {Employees.log, Employees_NODUPL.log, mylog....
    3 .doc                      {ey.doc, ou.doc, test.txt.doc}
    4 .xml                      {files.xml, my_history.xml, Saved_history.xm...
    1 .txtcls                   {help.txtcls}
    8 .vbs                      {hidden.vbs, imapi.vbs, imapi2.vbs, methods....
    1 .wma                      {HoneyPie.wma}
    2 .htm                      {msh.htm, test.htm}
    1 .csv                      {test.csv}
    1 .ps1                      {test.ps1}
    2 .psc1                     {test.psc1, test.psc1e.psc1}
    1 .jpg                      {welder-small.jpg}

Und natürlich können wir diese Informationen auch nach der Anzahl der Dateien in jeder Gruppe sortieren:

Get-ChildItem c:\scripts | Group-Object extension | Sort-Object count

Sie reichen die Ergebnisse einfach an Sort-Object weiter und sortieren nach der Eigenschaft Count. Sie erhalten das folgende Ergebnis:

Count Name                      Group
----- ----                      -----
    1 .csv                      {test.csv}
    1 .ps1                      {test.ps1}
    1 .wma                      {HoneyPie.wma}
    1 .txtcls                   {help.txtcls}
    1 .jpg                      {welder-small.jpg}
    1                           {200}
    2 .htm                      {msh.htm, test.htm}
    2 .gif                      {38DF6AB1-13D4-409C-966D-CBE61F040027.gif, d...
    2 .psc1                     {test.psc1, test.psc1e.psc1}
    3 .msh                      {a_new_file.msh, b_new_file.msh, c_new_file....
    3 .doc                      {ey.doc, ou.doc, test.txt.doc}
    4 .log                      {Employees.log, Employees_NODUPL.log, mylog....
    4 .xml                      {files.xml, my_history.xml, Saved_history.xm...
    5 .xls                      {5-15-06.xls, 5-17-06.xls, Book1.xls, invent...
    6 .zip                      {calculatorv11.zip, IronPython-1.0-Beta2.zip...
    8 .vbs                      {hidden.vbs, imapi.vbs, imapi2.vbs, methods....
   15 .txt                      {alias.txt, ExcelData.txt, help.txt, methods...

Aliase für "Group-Object"

  • group