Sortiert Objekte nach Eigenschaftenwerten. (Sort-Object)

   

NAME
Sort-Object

# ÜBERSICHT
Sortiert Objekte nach Eigenschaftenwerten.

# SYNTAX
Sort-Object [[-Property] <Object[]>] [-CaseSensitive] [-Culture <string>] [-Descending] [-InputObject <psobject>] [-Unique] [<CommonParameters>]

# BESCHREIBUNG
Das Cmdlet "Sort-Object" sortiert Objekte in aufsteigender oder absteigender Reihenfolge auf Grundlage der Eigenschaftenwerte des Objekts.

Sie können eine einzelne Eigenschaft oder mehrere Eigenschaften (für eine Sortierung nach mehreren Schlüsseln) angeben und eine Sortierung mit Berücksichtigung der Groß-/Kleinschreibung oder ohne Berücksichtigung der Groß-/Kleinschreibung auswählen. Sie können auch festlegen, dass Sort-Object nur die Objekte mit einem eindeutigen Wert für eine bestimmte Eigenschaft anzeigt.

# PARAMETER
-CaseSensitive [<SwitchParameter>]
Gibt an, dass bei der Sortierung die Groß-/Kleinschreibung berücksichtigt werden soll. Standardmäßig wird die Groß-/Kleinschreibung bei der Sortierung nicht berücksichtigt.

Erforderlich? false
Position? named
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false

-Culture <string>
Gibt die beim Sortieren zu verwendende Kulturkonfiguration an.

Erforderlich? false
Position? named
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false

-Descending [<SwitchParameter>]
Sortiert die Objekte in absteigender Reihenfolge. Standardmäßig wird eine aufsteigende Reihenfolge verwendet.

Der Descending-Parameter wird auf alle Eigenschaften angewendet. Um die Sortierung nach einigen Eigenschaften
in aufsteigender Reihenfolge und nach anderen Eigenschaften in absteigender Reihenfolge auszuführen, müssen Sie ihre Eigenschaftenwerte mit einer Hashtabelle angeben. Weitere Informationen finden Sie in den Beispielen.

Erforderlich? false
Position? named
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false

-InputObject <psobject>
Gibt die zu sortierenden Objekte an.

Wenn Sie eine Auflistung von Elementen mithilfe des InputObject-Parameters senden, empfängt Sort-Object ein Objekt, das die Auflistung darstellt. Da ein einzelnes Objekt nicht sortiert werden kann, gibt Sort-Object die gesamte Auflistung unverändert zurück.

Um Objekte zu sortieren, übergeben Sie sie über die Pipeline an Sort-Object.

Erforderlich? false
Position? named
Standardwert
Pipelineeingaben akzeptieren?true (ByValue)
Platzhalterzeichen akzeptieren?false

-Property <Object[]>
Gibt die beim Sortieren zu verwendenden Eigenschaften an. Objekte werden auf Grundlage der Werte dieser Eigenschaften sortiert. Geben Sie die Namen der Eigenschaften ein. Platzhalter sind zulässig.

Wenn Sie mehrere Eigenschaften angeben, werden die Objekte zunächst nach der ersten Eigenschaft sortiert. Wenn mehrere Objekte für die erste Eigenschaft denselben Wert aufweisen, werden diese Objekte nach der zweiten Eigenschaft sortiert. Dieser Vorgang wird fortgesetzt, bis keine angegebenen Eigenschaften oder Gruppen von Objekten mehr vorhanden sind.

Wenn Sie keine Eigenschaften angeben, sortiert das Cmdlet auf Grundlage von Standardeigenschaften für den Objekttyp.

Bei dem Wert des Property-Parameters kann es sich um eine neu berechnete Eigenschaft handeln. Verwenden Sie zum Erstellen einer berechneten Eigenschaft eine Hashtabelle. Gültige Schlüssel sind:

- Expression <Zeichenfolge> oder <Skriptblock>
- Ascending <boolescher Wert>
- Descending <boolescher Wert>

Erforderlich? false
Position? 1
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?true

-Unique [<SwitchParameter>]
Entfernt Duplikate und gibt nur die eindeutigen Elemente der Auflistung zurück. Sie können diesen Parameter statt des Cmdlets "Get-Unique" verwenden.

Erforderlich? false
Position? named
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false

<CommonParameters>
Dieses Cmdlet unterstützt folgende allgemeine Parameter: "Verbose", "Debug",
"ErrorAction", "ErrorVariable", "WarningAction", "WarningVariable",
"OutBuffer" und "OutVariable". Weitere Informationen
erhalten Sie mit dem Befehl "get-help about_commonparameters".

# EINGABEN
System.Management.Automation.PSObject
Sie können die zu sortierenden Objekte über die Pipeline an Sort-Object übergeben.

# AUSGABEN
System.Management.Automation.PSObject
Sort-Object gibt die sortierten Objekte zurück.

# HINWEISE

Sort-Object sortiert Objekte auf Grundlage der von Ihnen angegebenen Eigenschaften oder auf Grundlage der Standardsortiereigenschaften für Objekte dieses Typs.

Wenn ein Objekt über eine der angegebenen Eigenschaften nicht verfügt, wird der entsprechende Eigenschaftenwert für dieses Objekt vom Cmdlet als NULL interpretiert und am Ende der Sortierreihenfolge angeordnet.

Beim Sortieren von Objekten verwendet Sort-Object die Compare-Methode für jede Eigenschaft. Wenn eine Eigenschaft "IComparable" nicht implementiert, konvertiert das Cmdlet den Eigenschaftenwert in eine Zeichenfolge und verwendet die Compare-Methode für System.String.

Das Cmdlet "Sort-Object" sortiert Objekte in aufsteigender oder absteigender Reihenfolge auf Grundlage der Eigenschaftenwerte des Objekts.

Wenn Sie nach einer Eigenschaft sortieren, deren Wert eine Aufzählung ist, sortiert Sort-Object die Aufzählungswerte in numerischer Reihenfolge; die Namen der Aufzählungselemente werden nicht sortiert. Wenn Sie z. B. Dienste nach Status sortieren, werden Dienste mit dem Status "Stopped" vor Diensten mit dem Status "Running" angezeigt, da der Wert von "Status" eine ServiceControllerStatus-Auflistung ist, in der "Stopped" den Wert 1 und "Running" den Wert 4 aufweist.

# BEISPIEL 1

C:\PS>get-childitem | sort-object

Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 9/13/2005 4:24 PM 0 0
-a--- 9/6/2005 4:19 PM 12 a.csv
-a--- 9/21/2005 3:49 PM 529 a.Ps
-a--- 8/22/2005 4:14 PM 22 a.pl
-a--- 9/27/2005 10:33 AM 24 a.txt
-a--- 9/15/2005 10:31 AM 398 a.vbs
-a--- 7/21/2005 12:39 PM 37066 a.xml
-a--- 8/28/2005 11:30 PM 5412 a.xslt
-a--- 10/25/2005 1:59 PM 125 AdamTravel.txt
-a--- 7/21/2005 9:49 AM 59 add2Num.Ps
-a--- 8/29/2005 5:42 PM 7111 add-content.xml
-a--- 9/21/2005 12:46 PM 8771 aliens.Ps
-a--- 8/10/2005 2:10 PM 798 array.xml
-a--- 8/4/2004 5:00 AM 110 AUTORUN.INF
-a--- 9/6/2005 4:20 PM 245 b.csv
...

Beschreibung
-----------
Mit diesem Befehl werden die Unterverzeichnisse und Dateien im aktuellen Verzeichnis sortiert. Da keine Eigenschaften angegeben sind, werden die Dateien und Verzeichnisse in aufsteigender alphabetischer Reihenfolge nach ihrer Standardsortiereigenschaft "Name" sortiert.

# BEISPIEL 2

C:\PS>get-childitem | sort-object -property length

Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 12/3/2006 5:35 PM 2 pref.txt
-a--- 9/6/2006 3:33 PM 15 count.txt
-a--- 7/26/2006 10:01 AM 30 filenoext
-a--- 8/18/2006 9:02 AM 52 temp.ps1
-a--- 8/18/2006 9:02 AM 52 temp.msh
-a--- 9/6/2006 3:33 PM 56 fivewords.txt
-a--- 7/26/2006 9:28 AM 80 date.csv
-a--- 7/29/2006 7:15 PM 84 test2.txt
-a--- 7/29/2006 7:15 PM 84 test.ps1

Beschreibung
-----------
Mit diesem Befehl werden die Dateien im aktuellen Verzeichnis in aufsteigender Reihenfolge nach Dateilänge angezeigt.

# BEISPIEL 3

C:\PS>get-process | sort-object -property WS | select-object -last 5

Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
1105 25 44236 18932 197 93.81 2032 iexplore
2526 66 37668 36836 221 393.27 868 svchost
974 19 22844 45928 371 88.39 3952 WINWORD
1371 22 42192 61872 323 75.75 1584 INFOPATH
2145 58 93088 70680 619 396.69 3908 OUTLOOK

Beschreibung
-----------
Mit diesem Befehl werden die fünf Prozesse auf dem Computer mit der größten Speicherauslastung auf Grundlage der Größe ihrer Workingsets angezeigt.

Der Befehl ruft eine Liste von Prozessen mit dem Cmdlet "Get-Process" ab. Die Ergebnisse werden mithilfe eines Pipelineoperators (|) an das Cmdlet "Sort-Object" gesendet, das die Objekte nach Workingsets sortiert.

Mit einem weiteren Pipelineoperator werden die Ergebnisse an Select-Object gesendet, das nur die letzten fünf Elemente in der Liste anzeigt.

# BEISPIEL 4

C:\PS>get-history | sort-object -descending

Id CommandLine
-- -----------
51 get-history | sort -descending
50 get-history | sort -descending
49 get-history | sort -descending
48 get-history | sort -descending
47 get-history | sort -descending
46 get-history | sort -descending
45 get-history | sort -descending
44 cd $pshome
43 get-childitem | sort-object
42 gci *.txt

Beschreibung
-----------
Mit diesem Befehl werden HistoryInfo-Objekte mit der Id-Eigenschaft als Standardschlüssel sortiert.

# BEISPIEL 5

C:\PS>C:\PS> get-service | sort-object -property `
@{Expression="Status";Descending=$true}, `
@{Expression="DisplayName";Descending=$false}

Status Name DisplayName
------ ---- -----------
Running ALG Application Layer Gateway Service
Running Ati HotKey Poller Ati HotKey Poller
Running wuauserv Automatic Updates
Running BITS Background Intelligent Transfer Ser...
Running Client for NFS Client for NFS
...
Stopped clr_optimizatio... .NET Runtime Optimization Service v...
Stopped Alerter Alerter
Stopped AppMgmt Application Management
Stopped aspnet_state ASP.NET State Service
Stopped ATI Smart ATI Smart
Stopped ClipSrv ClipBook

Beschreibung
-----------
Mit diesem Befehl werden die Dienste auf dem Computer in absteigender Reihenfolge nach Status und in aufsteigender Reihenfolge nach DisplayName angezeigt.

Der Befehl verwendet das Cmdlet "Get-Service", um die Dienste auf dem Computer abzurufen. Die Dienste werden mit einem Pipelineoperator (|) an das Cmdlet "Sort-Object" gesendet.

Um eine Eigenschaft in aufsteigender Reihenfolge und eine andere Eigenschaft in absteigender Reihenfolge zu sortieren, verwendet der Befehl als Wert des Property-Parameters eine Hashtabelle. In der Hashtabelle wird der Eigenschaftenname mit dem Schlüssel "Expression" und die Sortierreihenfolge mit dem Schlüssel "Ascending" oder "Descending" angegeben.

In der resultierenden Anzeige, in der die Status-Werte in absteigender Reihenfolge sortiert sind, werden die Eigenschaften mit dem Status-Wert "Running" vor den Eigenschaften mit dem Status-Wert "Stopped" aufgeführt. Bei einer Sortierung in aufsteigender Reihenfolge wird "Stopped" vor "Running" angezeigt, weil Status eine Enumerationseigenschaft ist, deren Wert "Stopped" (1) kleiner als ihr Wert "Running" (4) ist.

# BEISPIEL 6

C:\PS>get-childitem *.txt | sort-object -property @{Expression={$_.LastWriteTime - $_.CreationTime}; Ascending=$false} | Format-Table LastWriteTime, CreationTime

LastWriteTime CreationTime
------------- ------------
2/21/2006 10:22:20 AM 10/3/2005 4:19:40 PM
2/27/2006 8:14:24 AM 2/23/2006 10:41:08 PM
2/24/2006 1:26:19 PM 2/23/2006 11:23:36 PM
1/5/2006 12:01:35 PM 1/5/2006 11:35:30 AM
2/24/2006 9:25:40 AM 2/24/2006 9:22:24 AM
2/24/2006 9:40:01 AM 2/24/2006 9:39:41 AM
2/21/2006 10:21:30 AM 2/21/2006 10:21:30 AM

Beschreibung
-----------
Mit diesem Befehl werden Textdateien in absteigender Reihenfolge nach der Zeitspanne zwischen "CreationTime" und "LastWriteTime" sortiert.

# BEISPIEL 7

C:\PS>get-content servers.txt

localhost
test01
server01
server02
localhost
server01

C:\PS> get-content servers.txt | sort-object -unique
localhost
server01
server02
test01

Beschreibung
-----------
Mit diesen Befehlen werden die Namen von Servern in einer Textdatei sortiert. Im zweiten Befehl wird das Cmdlet "Sort-Object" mit dem Unique-Parameter verwendet, um eine sortierte Liste ohne Duplikate zurückzugeben.

VERWANDTE LINKS
Online version: http://go.microsoft.com/fwlink/?LinkID=113403 (möglicherweise auf Englisch)
Group-Object

C:\Windows>powershell get-help Get-Variable -full

ColorConsole [Version 1.7.1000] PowerShell 2.0-Export
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2014 Microsoft Corporation.

OS: Windows 10, 8.1, 8, 7, Vista / Windows Server 2016, 2012, 2008
»»»» ColorConsole









... Windows-10




Windows 10 How To

... Windows 10 FAQ
... Windows 10 How To




PowerShell: Sortiert Objekte nach Eigenschaftenwerten.

HTTP: ... PS_Windows/de/Sort-Object.htm
0.202
10721

Wie startet man bei Windows die Dienstprogramme neu?

 /

Was ist schnelle 1 Megabit oder Megabyte Download?

 /

Heftrand mit ca 2cm Breite, bzw. nicht bedruckter Rand, wo ich den Ausdruck zum Abheften lochen kann?

 /

Hilfe, unter Windows 10,11 kann ich die Datei-Zeit nicht ändern!

 /

DesktopOK Tools + Funkionen / Features!

 /

Zuweisungen Dateiendungen Windows XP!

 /

Löschen und entfernen Sie gesperrte Dateien und Ordner!

 /

In Windows 7 bestimmte Anwendungen, bzw. Programme immer als Administrator ausführen, bzw. starten?

 /

Passwort anlegen bei Windows 7, bzw. das Kennwort ändern?

 /

Windows 10/11 Menüs sind nach links ausgerichtet, warum nicht rechts?

 /

User Requests?

 /

Was ist justieren (Justierung)?

 /