Sort-Object
Sortiert Objekte nach Eigenschaftenwerten.
Syntax
Sort-Object
[-Stable]
[-Descending]
[-Unique]
[-InputObject <PSObject>]
[[-Property] <Object[]>]
[-Culture <String>]
[-CaseSensitive]
[<CommonParameters>]
Sort-Object
[-Descending]
[-Unique]
-Top <Int32>
[-InputObject <PSObject>]
[[-Property] <Object[]>]
[-Culture <String>]
[-CaseSensitive]
[<CommonParameters>]
Sort-Object
[-Descending]
[-Unique]
-Bottom <Int32>
[-InputObject <PSObject>]
[[-Property] <Object[]>]
[-Culture <String>]
[-CaseSensitive]
[<CommonParameters>]
Beschreibung
Das Sort-Object
Cmdlet sortiert Objekte in aufsteigender oder absteigender Reihenfolge basierend auf Objekteigenschaftswerten. Wenn Sortiereigenschaften nicht in einem Befehl enthalten sind, verwendet PowerShell standardmäßige Sortiereigenschaften des ersten Eingabeobjekts. Wenn der Typ des Eingabeobjekts keine Standardsortierungseigenschaften aufweist, versucht PowerShell, die Objekte selbst zu vergleichen. Weitere Informationen finden Sie im Abschnitt Hinweise.
Sie können Objekte nach einer einzelnen Eigenschaft oder mehreren Eigenschaften sortieren. Mehrere Eigenschaften verwenden Hashtabellen zum Sortieren in aufsteigender Reihenfolge, absteigender Reihenfolge oder einer Kombination aus Sortierreihenfolgen. Eigenschaften werden nach Groß-/Kleinschreibung oder Groß-/Kleinschreibung sortiert. Verwenden Sie den Parameter Unique , um Duplikate aus der Ausgabe zu entfernen.
Beispiele
Beispiel 1: Sortieren des aktuellen Verzeichnisses nach Name
In diesem Beispiel werden die Dateien und Unterverzeichnisse in einem Verzeichnis sortiert.
Get-ChildItem -Path C:\Test | Sort-Object
Directory: C:\Test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2/13/2019 08:55 26 anotherfile.txt
-a---- 2/13/2019 13:26 20 Bfile.txt
-a---- 2/12/2019 15:40 118014 Command.txt
-a---- 2/1/2019 08:43 183 CreateTestFile.ps1
d----- 2/25/2019 18:25 Files
d----- 2/25/2019 18:24 Logs
-ar--- 2/12/2019 14:31 27 ReadOnlyFile.txt
-a---- 2/12/2019 16:24 23 Zsystemlog.log
Das Get-ChildItem
Cmdlet ruft die Dateien und Unterverzeichnisse aus dem Verzeichnis ab, das durch den Path-Parameter angegeben wird. C:\Test
Die Objekte werden an das Sort-Object
Cmdlet gesendet.
Sort-Object
gibt keine Eigenschaft an, sodass die Ausgabe nach der Standardsortiereigenschaft " Name" sortiert wird.
Beispiel 2: Sortieren des aktuellen Verzeichnisses nach Dateilänge
Mit diesem Befehl werden die Dateien im aktuellen Verzeichnis nach Länge in aufsteigender Reihenfolge angezeigt.
Get-ChildItem -Path C:\Test -File | Sort-Object -Property Length
Directory: C:\Test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2/13/2019 13:26 20 Bfile.txt
-a---- 2/12/2019 16:24 23 Zsystemlog.log
-a---- 2/13/2019 08:55 26 anotherfile.txt
-ar--- 2/12/2019 14:31 27 ReadOnlyFile.txt
-a---- 2/1/2019 08:43 183 CreateTestFile.ps1
-a---- 2/12/2019 15:40 118014 Command.txt
Das Get-ChildItem
Cmdlet ruft die Dateien aus dem Verzeichnis ab, das durch den Path-Parameter angegeben wird.
Der Parameter File gibt an, dass Get-ChildItem
nur Dateiobjekte abruft. Die Objekte werden an das Sort-Object
Cmdlet gesendet. Sort-Object
verwendet den Parameter Length , um die Dateien in aufsteigender Reihenfolge nach Länge zu sortieren.
Beispiel 3: Sortieren von Prozessen nach Speicherauslastung
In diesem Beispiel werden Prozesse mit der höchsten Speicherauslastung basierend auf ihrer Arbeitssatzgröße (WS) angezeigt.
Get-Process | Sort-Object -Property WS | Select-Object -Last 5
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
136 193.92 217.11 889.16 87492 8 OUTLOOK
112 347.73 297.02 95.19 106908 8 Teams
206 266.54 323.71 37.17 60620 8 MicrosoftEdgeCP
35 552.19 549.94 131.66 6552 8 Code
0 1.43 595.12 0.00 2780 0 Memory Compression
Das Get-Process
Cmdlet ruft die Liste der Prozesse ab, die auf dem Computer ausgeführt werden. Die Prozessobjekte werden an das Sort-Object
Cmdlet gesendet. Sort-Object
verwendet den Property-Parameter , um die Objekte nach WS zu sortieren. Die Objekte werden an das Select-Object
Cmdlet gesendet.
Select-Object
verwendet den Parameter Last , um die letzten fünf Objekte anzugeben, bei denen es sich um die Objekte mit der höchsten WS-Verwendung handelt.
In PowerShell 6 ist der Sort-Object
Parameter Bottom eine Alternative zu Select-Object
. Beispiel: Get-Process | Sort-Object -Property WS -Bottom 5
.
Beispiel 4: Sortieren von HistoryInfo-Objekten nach ID
Mit diesem Befehl werden die HistoryInfo-Objekte der PowerShell-Sitzung mithilfe der Id-Eigenschaft sortiert. Jede PowerShell-Sitzung verfügt über einen eigenen Befehlsverlauf.
Get-History | Sort-Object -Property Id -Descending
Id CommandLine
-- -----------
10 Get-Command Sort-Object -Syntax
9 $PSVersionTable
8 Get-Command Sort-Object -Syntax
7 Get-Command Sort-Object -ShowCommandInfo
6 Get-ChildItem -Path C:\Test | Sort-Object -Property Length
5 Get-Help Clear-History -online
4 Get-Help Clear-History -full
3 Get-ChildItem | Get-Member
2 Get-Command Sort-Object -Syntax
1 Set-Location C:\Test\
Das Get-History
Cmdlet ruft die Verlaufsobjekte aus der aktuellen PowerShell-Sitzung ab. Die Objekte werden an das Sort-Object
Cmdlet gesendet. Sort-Object
verwendet den Parameter Property , um die Objekte nach ID zu sortieren. Der Parameter "Descending " sortiert den Befehlsverlauf vom neuesten zum ältesten.
Beispiel 5: Verwenden einer Hashtabelle zum Sortieren von Eigenschaften in aufsteigender und absteigender Reihenfolge
In diesem Beispiel werden zwei Eigenschaften zum Sortieren der Objekte, Status und DisplayName verwendet. Der Status wird in absteigender Reihenfolge sortiert, und DisplayName wird in aufsteigender Reihenfolge sortiert.
Eine Hashtabelle wird verwendet, um den Wert des Property-Parameters anzugeben. Die Hashtabelle verwendet einen Ausdruck, um die Eigenschaftennamen und Sortierreihenfolgen anzugeben. Weitere Informationen zu Hashtabellen finden Sie unter about_Hash_Tables (Informationen zu Hashtabellen).
Die status-Eigenschaft, die in der Hashtabelle verwendet wird, ist eine aufgezählte Eigenschaft. Weitere Informationen finden Sie unter ServiceControllerStatus.
Get-Service |
Sort-Object -Property @{Expression = "Status"; Descending = $true},
@{Expression = "DisplayName"; Descending = $false}
Status Name DisplayName
------ ---- -----------
Running Appinfo Application Information
Running BthAvctpSvc AVCTP service
Running BrokerInfrastru... Background Tasks Infrastructure Ser...
Running BDESVC BitLocker Drive Encryption Service
Running CoreMessagingRe... CoreMessaging
Running VaultSvc Credential Manager
Running DsSvc Data Sharing Service
Running Dhcp DHCP Client
...
Stopped ALG Application Layer Gateway Service
Stopped AppMgmt Application Management
Stopped BITS Background Intelligent Transfer Ser...
Stopped wbengine Block Level Backup Engine Service
Stopped BluetoothUserSe... Bluetooth User Support Service_14fb...
Stopped COMSysApp COM+ System Application
Stopped smstsmgr ConfigMgr Task Sequence Agent
Stopped DeviceInstall Device Install Service
Stopped MSDTC Distributed Transaction Coordinator
Das Get-Service
Cmdlet ruft die Liste der Dienste auf dem Computer ab. Die Dienstobjekte werden an das Sort-Object
Cmdlet gesendet. Sort-Object
verwendet den Parameter Property mit einer Hashtabelle, um die Eigenschaftennamen und Sortierreihenfolgen anzugeben. Der Property-Parameter wird nach zwei Eigenschaften sortiert: Status in absteigender Reihenfolge und DisplayName in aufsteigender Reihenfolge.
Status ist eine aufgezählte Eigenschaft. "Stopped" hat den Wert 1 und "Running " hat den Wert 4. Der Absteigende Parameter ist so festgelegt$True
, dass ausgeführte Prozesse vor beendeten Prozessen angezeigt werden. DisplayName legt den Descending-Parameter so fest, dass $False
die Anzeigenamen in alphabetischer Reihenfolge sortiert werden.
Beispiel 6: Sortieren von Textdateien nach Zeitspanne
Mit diesem Befehl werden Textdateien in absteigender Reihenfolge nach der Zeitspanne zwischen CreationTime und LastWriteTime sortiert.
Get-ChildItem -Path C:\Test\*.txt |
Sort-Object -Property {$_.CreationTime - $_.LastWriteTime} |
Format-Table CreationTime, LastWriteTime, FullName
CreationTime LastWriteTime FullName
------------ ------------- --------
11/21/2018 12:39:01 2/26/2019 08:59:36 C:\Test\test2.txt
12/4/2018 08:29:41 2/26/2019 08:57:05 C:\Test\powershell_list.txt
2/20/2019 08:15:59 2/26/2019 12:09:43 C:\Test\CreateTestFile.txt
2/20/2019 08:15:59 2/26/2019 12:07:41 C:\Test\Command.txt
2/20/2019 08:15:59 2/26/2019 08:57:52 C:\Test\ReadOnlyFile.txt
11/29/2018 15:16:50 12/4/2018 16:16:24 C:\Test\LogData.txt
2/25/2019 18:25:11 2/26/2019 12:08:47 C:\Test\Zsystemlog.txt
2/25/2019 18:25:11 2/26/2019 08:55:33 C:\Test\Bfile.txt
2/26/2019 08:46:59 2/26/2019 12:12:19 C:\Test\LogFile3.txt
Das Get-ChildItem
Cmdlet verwendet den Parameter "Path ", um das Verzeichnis C:\Test
und alle *.txt
Dateien anzugeben. Die Objekte werden an das Sort-Object
Cmdlet gesendet.
Sort-Object
verwendet den Parameter Property mit einem Scriptblock, um die einzelnen Dateien zwischen CreationTime und LastWriteTime zu bestimmen.
Beispiel 7: Sortieren von Namen in einer Textdatei
In diesem Beispiel wird gezeigt, wie eine Liste aus einer Textdatei sortiert wird. Die Originaldatei wird als nicht sortierte Liste angezeigt. Sort-Object
sortiert den Inhalt und sortiert dann den Inhalt mit dem Unique-Parameter , der Duplikate entfernt.
# All items unsorted
Get-Content -Path C:\Test\ServerNames.txt
localhost
server01
server25
LOCALHOST
Server19
server3
localhost
# All items sorted
Get-Content -Path C:\Test\ServerNames.txt | Sort-Object
localhost
LOCALHOST
localhost
server01
Server19
server25
server3
# Unique filtered items sorted
Get-Content -Path C:\Test\ServerNames.txt | Sort-Object -Unique
localhost
server01
Server19
server25
server3
Das Get-Content
Cmdlet verwendet den Parameter "Path ", um das Verzeichnis und den Dateinamen anzugeben. Die Datei ServerNames.txt
enthält eine nicht sortierte Liste von Computernamen.
Das Get-Content
Cmdlet verwendet den Parameter "Path ", um das Verzeichnis und den Dateinamen anzugeben. Die Datei ServerNames.txt
enthält eine nicht sortierte Liste von Computernamen. Die Objekte werden an das Sort-Object
Cmdlet gesendet. Sort-Object
sortiert die Liste in der Standardreihenfolge aufsteigend.
Das Get-Content
Cmdlet verwendet den Parameter "Path ", um das Verzeichnis und den Dateinamen anzugeben. Die Datei ServerNames.txt
enthält eine nicht sortierte Liste von Computernamen. Die Objekte werden an das Sort-Object
Cmdlet gesendet. Sort-Object
verwendet den Parameter Unique , um doppelte Computernamen zu entfernen. Die Liste wird in der Standardreihenfolge aufsteigend sortiert.
Beispiel 8: Sortieren einer Zeichenfolge als ganze Zahl
In diesem Beispiel wird gezeigt, wie Sie eine Textdatei sortieren, die Zeichenfolgenobjekte als ganze Zahlen enthält. Sie können jeden Befehl an die Pipeline senden und überprüfen, ob es sich bei den Objekten um Get-Member
Zeichenfolgen und nicht um ganze Zahlen handelt. Für diese Beispiele enthält die ProductId.txt
Datei eine nicht sortierte Liste der Produktnummern.
Ruft im ersten Beispiel Get-Content
den Inhalt der Datei- und Rohrzeilen an das Sort-Object
Cmdlet ab. Sort-Object
sortiert die Zeichenfolgenobjekte in aufsteigender Reihenfolge.
# String sorted
Get-Content -Path C:\Test\ProductId.txt | Sort-Object
0
1
12345
1500
2
2800
3500
4100
500
6200
77
88
99999
# Integer sorted
Get-Content -Path C:\Test\ProductId.txt | Sort-Object {[int]$_}
0
1
2
77
88
500
1500
2800
3500
4100
6200
12345
99999
Ruft im zweiten Beispiel Get-Content
den Inhalt der Datei- und Rohrleitungen an das Sort-Object
Cmdlet ab. Sort-Object
verwendet einen Skriptblock, um die Zeichenfolgen in ganze Zahlen zu konvertieren. Wandelt die Zeichenfolge im Beispielcode [int]
in eine ganze Zahl um und $_
stellt jede Zeichenfolge dar, wie sie in die Pipeline fällt. Die ganzzahligen Objekte werden an das Sort-Object
Cmdlet gesendet.
Sort-Object
sortiert die ganzzahligen Objekte in numerischer Reihenfolge.
Beispiel 9: Verwenden von stabilen Sortierungen
Wenn Sie die Parameter "Oben", "Unten" oder "Stable" verwenden, werden die sortierten Objekte in der Reihenfolge übermittelt, in Sort-Object
der sie empfangen wurden, wenn die Sortierkriterien gleich sind. In diesem Beispiel sortieren wir die Zahlen 1 bis 20 nach dem Wert "modulo 3". Der Modulo-Wert reicht von Null bis 2.
1..20 |Sort-Object {$_ % 3}
18
3
15
6
12
9
1
16
13
10
7
4
19
11
8
14
5
17
2
20
1..20 |Sort-Object {$_ % 3} -Stable
3
6
9
12
15
18
1
4
7
10
13
16
19
2
5
8
11
14
17
20
Die Ausgabe aus der ersten Sortierung wird korrekt nach dem Moduluswert gruppiert, aber die einzelnen Elemente werden nicht innerhalb des Modulusbereichs sortiert. Die zweite Sortierung verwendet die Option "Stabil ", um eine stabile Sortierung zurückzugeben.
Beispiel 10: Sortieren nach mehreren Eigenschaften
Wenn Sie nach mehreren Eigenschaften sortieren möchten, trennen Sie die Eigenschaften nach Kommas.
Get-ChildItem -Path C:\Test | Sort-Object Length,Name
Directory: C:\Test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 13/10/2021 22:16 2 File01.txt
-a--- 13/10/2021 22:16 2 File03.txt
-a--- 13/10/2021 22:18 64 File02.txt
-a--- 13/10/2021 22:18 64 File04.txt
Das Get-ChildItem
Cmdlet ruft die Dateien aus dem Verzeichnis ab, das durch den Path-Parameter angegeben wird.
Die Objekte werden an das Sort-Object
Cmdlet gesendet. Sort-Object
verwendet den Parameter "Length " und "Name ", um die Dateien in aufsteigender Reihenfolge nach Länge zu sortieren. Da File01.txt
und File03.txt
dieselbe Länge aufweisen, werden sie weiter nach ihrem Eigenschaftsnamen sortiert.
Beispiel 11: Sortieren von Hashtables nach Schlüsselwert
Ab PowerShell 6 Sort-Object
unterstützt die Sortierung von Hashtable-Eingaben nach Schlüsselwerten. Im folgenden Beispiel wird ein Array von Hashtables nach dem Wert des Schlüssels weight
der einzelnen Hashtables sortiert.
@(
@{ name = 'a' ; weight = 7 }
@{ name = 'b' ; weight = 1 }
@{ name = 'c' ; weight = 3 }
@{ name = 'd' ; weight = 7 }
) | Sort-Object -Property weight -OutVariable Sorted
$Sorted | ForEach-Object -Process { "{0}: {1}" -f $_.name, $_.weight }
Name Value
---- -----
Weight 1
Name b
Weight 3
Name c
Weight 7
Name a
Weight 7
Name d
b: 1
c: 3
a: 7
d: 7
Parameter
-Bottom
Gibt die Anzahl der Objekte an, die vom Ende eines sortierten Objektarrays abgerufen werden sollen. Dies führt zu einer stabilen Sortierung.
Dieser Parameter wurde in PowerShell 6.0 eingeführt.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-CaseSensitive
Gibt an, dass bei der Sortierung die Groß-/Kleinschreibung beachtet wird. Bei Sortierungen wird standardmäßig keine Groß-/Kleinschreibung beachtet.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | Case-insensitive |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Culture
Gibt die kulturelle Konfiguration an, die für Sortierungen verwendet werden soll. Wird Get-Culture
verwendet, um die Systemkulturkonfiguration anzuzeigen.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Descending
Gibt an, dass Sort-Object
die Objekte in absteigender Reihenfolge sortiert werden. Standardmäßig wird in aufsteigender Reihenfolge sortiert.
Verwenden Sie eine Hashtabelle, um mehrere Eigenschaften mit unterschiedlichen Sortierreihenfolgen zu sortieren. Beispielsweise können Sie mit einer Hashtabelle eine Eigenschaft in aufsteigender Reihenfolge und eine andere Eigenschaft in absteigender Reihenfolge sortieren.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | Ascending |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-InputObject
Um Objekte zu sortieren, senden Sie sie nach unten an die Pipeline an Sort-Object
. Wenn Sie den InputObject-Parameter verwenden, um eine Auflistung von Elementen zu senden, empfängt ein Objekt, Sort-Object
das die Auflistung darstellt. Da ein Objekt nicht sortiert werden kann, Sort-Object
wird die gesamte Auflistung unverändert zurückgegeben.
Typ: | PSObject |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Property
Gibt die Eigenschaftennamen an, die Sort-Object
zum Sortieren der Objekte verwendet werden. Platzhalter sind zulässig.
Objekte werden basierend auf den Eigenschaftswerten sortiert. Wenn Sie keine Eigenschaft angeben, Sort-Object
werden sie basierend auf den Standardeigenschaften für den Objekttyp oder die Objekte selbst sortiert.
Verwenden Sie Kommas, um mehrere Eigenschaften zu trennen. Mehrere Eigenschaften können in aufsteigender Reihenfolge, absteigender Reihenfolge oder einer Kombination von Sortierreihenfolgen sortiert werden. Wenn Sie mehrere Eigenschaften angeben, werden die Objekte nach der ersten Eigenschaft sortiert. Wenn mehrere Objekte denselben Wert für die erste Eigenschaft haben, werden diese Objekte nach der zweiten Eigenschaft sortiert. Dieser Prozess wird fortgesetzt, bis keine weiteren angegebenen Eigenschaften oder keine Gruppen von Objekten mehr vorhanden sind.
Der Wert des Property-Parameters kann eine berechnete Eigenschaft sein. Verwenden Sie zum Erstellen einer berechneten Eigenschaft einen Scriptblock oder eine Hashtabelle.
Gültige Schlüssel für eine Hashtabelle sind wie folgt:
expression
-<string>
oder<script block>
ascending
oderdescending
-<boolean>
Weitere Informationen finden Sie unter about_Calculated_Properties.
Typ: | Object[] |
Position: | 0 |
Standardwert: | Default properties |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-Stable
Die sortierten Objekte werden in der Reihenfolge geliefert, in der sie empfangen wurden, wenn die Sortierkriterien gleich sind.
Dieser Parameter wurde in PowerShell v6.2.0 hinzugefügt.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Top
Gibt die Anzahl der Objekte an, die vom Anfang eines sortierten Objektarrays abgerufen werden sollen. Dies führt zu einer stabilen Sortierung.
Dieser Parameter wurde in PowerShell 6.0 eingeführt.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Unique
Gibt an, dass Sort-Object
Duplikate entfernt werden und nur die eindeutigen Elemente der Auflistung zurückgegeben werden. Die erste Instanz eines eindeutigen Werts ist in der sortierten Ausgabe enthalten.
Eindeutig ist die Groß-/Kleinschreibung nicht zu beachten. Zeichenfolgen, die sich nur je nach Zeichenfall unterscheiden, werden als identisch betrachtet. Beispiel: Zeichen und ZEICHEN.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | All |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
Sie können die Objekte weiterleiten, die an dieses Cmdlet sortiert werden sollen.
Ausgaben
Dieses Cmdlet gibt die sortierten Objekte zurück.
Hinweise
PowerShell enthält die folgenden Aliase für Sort-Object
:
- Windows:
sort
Das Sort-Object
Cmdlet sortiert Objekte basierend auf eigenschaften, die im Befehl angegeben sind, oder die Standardsortiereigenschaften für den Objekttyp. Standardsortierungseigenschaften werden mithilfe des PropertySet
benannten DefaultKeyPropertySet
In einer types.ps1xml
Datei definiert. Weitere Informationen finden Sie unter about_Types.ps1xml.
Wenn ein Objekt nicht über eine der angegebenen Eigenschaften verfügt, wird der Eigenschaftswert für dieses Objekt als Sort-Object
Null interpretiert und am Ende der Sortierreihenfolge platziert.
Wenn keine Sortiereigenschaften verfügbar sind, versucht PowerShell, die Objekte selbst zu vergleichen.
Sort-Object
verwendet die Compare-Methode für jede Eigenschaft. Wenn eine Eigenschaft IComparable nicht implementiert, konvertiert das Cmdlet den Eigenschaftswert in eine Zeichenfolge und verwendet die Compare-Methode für System.String. Weitere Informationen finden Sie unter "PSObject.CompareTo(Object)"-Methode.
Wenn Sie nach einer aufgezählten Eigenschaft wie Status sortieren, Sort-Object
werden die Enumerationswerte sortiert. Für Windows-Dienste weist "Stopped" den Wert 1 auf, und "Running" weist den Wert 4 auf.
Beendet wird vor dem Ausführen aufgrund der aufgezählten Werte sortiert. Weitere Informationen finden Sie unter ServiceControllerStatus.
Die Leistung des Sortieralgorithmus ist bei einer stabilen Sortierung langsamer.