Wählt angegebene Eigenschaften eines Objekts oder eines Satzes von Objekten aus. Er kann auch eindeutige Objekte aus einem Array von... (Select-Object)
NAMESelect-ObjectÜBERSICHTWä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.SYNTAXSelect-Object [[-Property] <Object[]>] [-ExcludeProperty <string[]>] [-ExpandProperty <string>] [-First <int>] [-InputObject <psobject>] [-Last <int>] [-Skip <int>] [-Unique] [<CommonParameters>] Select-Object [-Index <Int32[]>] [-InputObject <psobject>] [-Unique] [<CommonParameters>]BESCHREIBUNGMit 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 Keiner 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 -Property <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 [<SwitchParameter>] 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 folgende allgemeine Parameter: "Verbose", "Debug", "ErrorAction", "ErrorVariable", "WarningAction", "WarningVariable", "OutBuffer" und "OutVariable". Weitere Informationen erhalten Sie mit dem Befehl "get-help about_commonparameters".EINGABENSystem.Management.Automation.PSObject Sie können jedes Objekt über die Pipeline an Select-Object übergeben.AUSGABENSystem.Management.Automation.PSObjectHINWEISESie können auch über den integrierten Alias "select" auf Select-Object verweisen. Weitere Informationen finden Sie unter "about_Aliases".Beispiele
BEISPIEL 1C:\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 2C:\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 3C:\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 4C:\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 5C:\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 6C:\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 7C:\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. VERWANDTE LINKS Online version: http://go.microsoft.com/fwlink/?LinkID=113387 (möglicherweise auf Englisch) Where-Object Group-Object Sort-Object C:\Windows>powershell get-help Group-Object -full
Microsoft Windows [Version 10.0.19045.3693]
Copyright (c) 2023 Microsoft Corporation.
ColorConsole [Version 3.7.1000] PowerShell 2.0-Export