Wählt angegebene Eigenschaften eines Objekts oder eines Satzes von Objekten aus. Er kann auch eindeutige Objekte aus einem Array von Objekten oder eine angegebene Anzahl von Objekten vom Anfang oder Ende eines Arrays von Objekten auswählen.
Syntax
Select-Object [[-Eigenschaft] <Object[]>] [-ExcludeProperty <string[]>] [-ExpandProperty <string>] [-First <int>] [-InputObject <psobject>] [-Last <int>] [-Skip <int>] [-Unique] [<CommonParameters>] Select-Object [-Index <Int32[]>] [-InputObject <psobject>] [-Unique] [<CommonParameters>]
Beschreibung
Mit dem Cmdlet "Select-Object" werden nur die angegebenen Eigenschaften eines Objekts oder Satzes von Objekten abgerufen. Er kann auch eindeutige Objekte aus einem Array von Objekten oder eine angegebene Anzahl von Objekten vom Anfang oder Ende eines Arrays von Objekten auswählen.
Wenn Sie angegebene Eigenschaften mit Select-Object auswählen, werden die Werte dieser Eigenschaften aus den Eingabeobjekten kopiert und neue Objekte erstellt, die über die angegebenen Eigenschaften und kopierten Werte verfügen.
Geben Sie die auszuwählenden Eigenschaften mit dem Property-Parameter an. Oder wählen Sie mit den Parametern "First", "Last", "Unique", "Skip" und "Index" bestimmte Objekte aus einem Array von Eingabeobjekten aus. Für eine spezifischere Objektfilterung verwenden Sie das Cmdlet "Where-Object".
Parameter
-ExcludeProperty <string[]>
Entfernt die angegebenen Eigenschaften aus der Auswahl. Platzhalter sind zulässig. Dieser Parameter ist nur wirksam, wenn der Befehl auch den Property-Parameter einschließt.
Der Wert des Eigenschaftenparameters kann eine berechnete Eigenschaft sein. Dies ist eine Hashtabelle, die einen Namen angibt und einen Wert zur Anzeige der Eigenschaft berechnet. Gültige Schlüssel sind:
– Name oder Label <Zeichenfolge>
– Expression <Zeichenfolge> oder <Skriptblock>
Weitere Informationen finden Sie in den Beispielen.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
true |
-ExpandProperty <string>
Gibt eine Eigenschaft an, die ausgewählt werden soll, und gibt an, dass diese Eigenschaft erweitert werden soll. Platzhalter sind im Eigenschaftennamen zulässig.
Wenn die angegebene Eigenschaft z. B. ein Array ist, ist jeder Wert des Arrays in der Ausgabe enthalten. Wenn die Eigenschaft ein Objekt enthält, werden die Eigenschaften dieses Objekts in der Ausgabe angezeigt.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
true |
-First <int>
Gibt die Anzahl der ab dem Anfang des Arrays von Eingabeobjekten auszuwählenden Objekte an.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Index <Int32[]>
Wählt Objekte auf Grundlage ihrer Indexwerte aus einem Array aus. Geben Sie die Indizes in einer durch Trennzeichen getrennten Liste ein.
Indizes in einem Array beginnen mit 0, wobei 0 den ersten Wert und (n-1) den letzten Wert darstellt.
Erforderlich? |
false |
Position? |
named |
Standardwert |
keine |
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-InputObject <psobject>
Gibt Objekte an, die über die Pipeline an das Cmdlet gesendet werden sollen. Mit diesem Parameter können Sie Objekte über die Pipeline an Select-Object übergeben.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
true (ByValue) |
Platzhalterzeichen akzeptieren? |
false |
-Last <int>
Gibt die Anzahl der ab dem Ende des Arrays von Eingabeobjekten auszuwählenden Objekte an.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Eigenschaft <Object[]>
Gibt die auszuwählenden Eigenschaften an. Platzhalter sind zulässig.
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:
– Name (oder Label) <Zeichenfolge>
– Expression <Zeichenfolge> oder <Skriptblock>
Erforderlich? |
false |
Position? |
1 |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
true |
-Skip <int>
Überspringt die angegebene Anzahl von Elementen (wählt sie nicht aus). Beim Skip-Parameter beginnt die Zählung standardmäßig am Anfang des Arrays oder der Liste von Objekten. Wenn jedoch im Befehl der Last-Parameter verwendet wird, beginnt die Zählung am Ende der Liste bzw. des Arrays.
Im Gegensatz zum Index-Parameter, bei dem die Zählung mit 0 beginnt, beginnt beim Skip-Parameter die Zählung mit 1.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Unique
Gibt an, dass bei einer Teilmenge von Eingabeobjekten mit identischen Eigenschaften und Werten nur ein einzelnes Element der Teilmenge ausgewählt wird.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
<CommonParameters>
Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.
Eingaben und Ausgaben
Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.
Eingaben |
System.Management.Automation.PSObject Sie können jedes Objekt über die Pipeline an Select-Object übergeben. |
Ausgaben |
System.Management.Automation.PSObject |
Hinweise
Sie können auch über den integrierten Alias "select" auf Select-Object verweisen. Weitere Informationen finden Sie unter "about_Aliases".
Beispiel 1
C:\PS>get-process | select-object ProcessName,Id,WS Beschreibung ----------- Mit diesem Befehl wird eine Liste von Prozessen angezeigt. Zeigt nur die Eigenschaften für Name, ID und Workingset (WS) der Prozesse an.
Beispiel 2
C:\PS>get-process | select-object processname -expandproperty modules | format-list ProcessName : 00THotkey Size : 256 Company : TOSHIBA Corporation FileVersion : 1, 0, 0, 27 ProductVersion : 6, 2, 0, 0 Description : THotkey Product : TOSHIBA THotkey ModuleName : 00THotkey.exe FileName : C:\WINDOWS\system32\00THotkey.exe BaseAddress : 4194304 Beschreibung ----------- Mit diesem Befehl werden Informationen über die Module angezeigt, die von den auf einem Computer ausgeführten Prozessen verwendet werden. Mit dem ExpandProperty-Parameter werden die Details der Modules-Eigenschaft angezeigt.
Beispiel 3
C:\PS>get-process | sort-object -property WS | select-object -Last 5 Handles NPM(K) PM(K) WS(K) VS(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 2866 320 33432 45764 203 222.41 1292 svchost 577 17 23676 50516 265 50.58 4388 WINWORD 826 11 75448 76712 188 19.77 3780 Ps 1367 14 73152 88736 216 61.69 676 Ps 1612 44 66080 92780 380 900.59 6132 INFOPATH Beschreibung ----------- Mit diesem Befehl werden die fünf Prozesse mit der größten Speicherauslastung angezeigt. Mit dem Cmdlet "Sort-Object" werden die Prozesse nach Speicherauslastung (Workingset) sortiert, und mit dem Cmdlet "Select-Object" werden nur die letzten fünf Elemente des resultierenden Objektarrays ausgewählt.
Beispiel 4
C:\PS>get-process | select-object -property ProcessName,@{Name="Start Day"; Expression = {$_.StartTime.DayOfWeek}} ProcessName StartDay ---- -------- alg Wednesday ati2evxx Wednesday ati2evxx Thursday ... Beschreibung ----------- Mit diesem Befehl werden Name und Starttag der auf dem Computer ausgeführten Prozesse angezeigt. Die Werte des Property-Parameters sind "ProcessName" und eine berechnete Eigenschaft mit dem Namen "Start Day". Die Eigenschaft "Start Day" wird hinzugefügt, indem eine Hashtabelle mit dem Name-Schlüssel und dem Expression-Schlüssel verwendet wird.
Beispiel 5
C:\PS>"a","b","c","a","a","a" | select-object -unique a b c Beschreibung ----------- Mit diesem Befehl werden eindeutige Zeichen aus einem Zeichenarray angezeigt.
Beispiel 6
C:\PS>$a = get-eventlog -log "Windows PowerShell" C:\PS> $a | select-object -index 0, ($a.count - 1) Beschreibung ----------- Mit diesen Befehlen werden das erste (neueste) und letzte (älteste) Ereignis im Windows-PowerShell Ereignisprotokoll abgerufen. Im ersten Befehl werden alle Ereignisse im Windows PowerShell-Protokoll mit dem Cmdlet "Get-EventLog" abgerufen. Die Ereignisse werden in der Variablen "$a" gespeichert. Im zweiten Befehl werden die Ereignisse in $a mithilfe eines Pipelineoperators (|) an das Cmdlet "Select-Object" gesendet. Beim Befehl "Select-Object" werden Elemente mithilfe des Index-Parameters anhand ihrer Indexnummer ausgewählt. Der Index für das erste Ereignis ist 0. Der Index für das letzte Ereignis ist die Anzahl der Elemente in $a minus 1.
Beispiel 7
C:\PS>new-pssession -computername (get-content servers.txt | select-object -skip 1) Beschreibung ----------- Mit diesem Befehl wird auf jedem in der Datei "Servers.txt" aufgelisteten Computer eine neue PSSession erstellt, mit Ausnahme des ersten Computers. Dieser Befehl wählt mit dem Cmdlet "Select-Object" alle Computer außer dem ersten Computer in einer Liste von Computernamen aus. Die resultierende Liste von Computern wird als Wert des ComputerName-Parameters für das Cmdlet "New-PSSession" festgelegt.
Siehe auch