Select-Object
Wybiera obiekty lub właściwości obiektu.
Składnia
Select-Object
[-InputObject <PSObject>]
[[-Property] <Object[]>]
[-ExcludeProperty <String[]>]
[-ExpandProperty <String>]
[-Unique]
[-CaseInsensitive]
[-Last <Int32>]
[-First <Int32>]
[-Skip <Int32>]
[-Wait]
[<CommonParameters>]
Select-Object
[-InputObject <PSObject>]
[[-Property] <Object[]>]
[-ExcludeProperty <String[]>]
[-ExpandProperty <String>]
[-Unique]
[-CaseInsensitive]
[-Skip <Int32>]
[-SkipLast <Int32>]
[<CommonParameters>]
Select-Object
[-InputObject <PSObject>]
[-Unique]
[-CaseInsensitive]
[-Wait]
[-Index <Int32[]>]
[<CommonParameters>]
Select-Object
[-InputObject <PSObject>]
[-Unique]
[-CaseInsensitive]
[-SkipIndex <Int32[]>]
[<CommonParameters>]
Opis
Polecenie Select-Object
cmdlet wybiera określone właściwości obiektu lub zestawu obiektów. Może również wybierać unikatowe obiekty, określoną liczbę obiektów lub obiektów w określonej pozycji w tablicy.
Aby wybrać obiekty z kolekcji, użyj parametrów First, Last, Unique, Skip i Index . Aby wybrać właściwości obiektu, użyj parametru Właściwość . Po wybraniu właściwości Select-Object
zwracane są nowe obiekty, które mają tylko określone właściwości.
Począwszy od programu Windows PowerShell 3.0, zawiera funkcję optymalizacji, Select-Object
która uniemożliwia polecenia tworzenia i przetwarzania obiektów, które nie są używane.
W przypadku użycia Select-Object
z parametrami First lub Index w potoku poleceń program PowerShell zatrzymuje polecenie, które generuje obiekty zaraz po osiągnięciu wybranej liczby obiektów. Aby wyłączyć to optymalizowanie zachowania, użyj parametru Wait .
Przykłady
Przykład 1. Wybieranie obiektów według właściwości
W tym przykładzie tworzone są obiekty, które mają właściwości Name, ID i working set (WS) obiektów procesu.
Get-Process | Select-Object -Property ProcessName, Id, WS
Przykład 2. Wybieranie obiektów według właściwości i formatowanie wyników
Ten przykład pobiera informacje o modułach używanych przez procesy na komputerze. Używa Get-Process
polecenia cmdlet w celu pobrania procesu na komputerze.
Używa Select-Object
polecenia cmdlet do wyprowadzania tablicy [System.Diagnostics.ProcessModule]
wystąpień, które znajdują się we właściwości Modules każdego System.Diagnostics.Process
wystąpienia wyjściowego przez Get-Process
polecenie .
Parametr Select-Object
Property polecenia cmdlet wybiera nazwy procesów. Spowoduje to dodanie ProcessName
właściwości NoteProperty do każdego [System.Diagnostics.ProcessModule]
wystąpienia i wypełnienie go wartością właściwości ProcessName bieżącego procesu.
Format-List
Na koniec polecenie cmdlet służy do wyświetlania nazwy i modułów każdego procesu na liście.
Get-Process Explorer |
Select-Object -Property ProcessName -ExpandProperty Modules |
Format-List
ProcessName : explorer
ModuleName : explorer.exe
FileName : C:\WINDOWS\explorer.exe
BaseAddress : 140697278152704
ModuleMemorySize : 3919872
EntryPointAddress : 140697278841168
FileVersionInfo : File: C:\WINDOWS\explorer.exe
InternalName: explorer
OriginalFilename: EXPLORER.EXE.MUI
FileVersion: 10.0.17134.1 (WinBuild.160101.0800)
FileDescription: Windows Explorer
Product: Microsoft Windows Operating System
ProductVersion: 10.0.17134.1
...
Przykład 3. Wybieranie procesów przy użyciu największej ilości pamięci
Ten przykład pobiera pięć procesów korzystających z największej ilości pamięci. Polecenie Get-Process
cmdlet pobiera procesy na komputerze. Polecenie Sort-Object
cmdlet sortuje procesy zgodnie z użyciem pamięci (zestawu roboczego), a Select-Object
polecenie cmdlet wybiera tylko pięć ostatnich elementów członkowskich wynikowej tablicy obiektów.
Parametr Wait nie jest wymagany w poleceniach zawierających Sort-Object
polecenie cmdlet, ponieważ Sort-Object
przetwarza wszystkie obiekty, a następnie zwraca kolekcję. Optymalizacja Select-Object
jest dostępna tylko dla poleceń, które zwracają obiekty indywidualnie podczas ich przetwarzania.
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
Przykład 4. Wybieranie unikatowych znaków z tablicy
W tym przykładzie użyto unikatowego parametru , Select-Object
aby uzyskać unikatowe znaki z tablicy znaków.
"a","b","c","a","A","a" | Select-Object -Unique
a
b
c
A
Przykład 5: Używanie parametru "-Unique" z innymi parametrami
Unikatowy parametr filtruje wartości po zastosowaniu innych Select-Object
parametrów. Jeśli na przykład użyjesz pierwszego parametru, aby wybrać pierwszą liczbę elementów w tablicy, funkcja Unique jest stosowana tylko do wybranych wartości, a nie do całej tablicy.
"a","a","b","c" | Select-Object -First 2 -Unique
a
W tym przykładzie najpierw wybiera "a","a"
jako pierwsze 2 elementy tablicy. Unikatowa wartość jest stosowana do "a","a"
wartości i zwracana a
jako unikatowa.
Przykład 6. Wybieranie unikatowych ciągów przy użyciu parametru "-CaseInsensitive"
W tym przykładzie użyto porównań bez uwzględniania wielkości liter, aby uzyskać unikatowe ciągi z tablicy ciągów.
"aa", "Aa", "Bb", "bb" | Select-Object -Unique -CaseInsensitive
aa
Bb
Przykład 7. Wybieranie najnowszych i najstarszych zdarzeń w dzienniku zdarzeń
Ten przykład pobiera pierwsze (najnowsze) i ostatnie (najstarsze) zdarzenia w dzienniku zdarzeń programu Windows PowerShell.
Get-WinEvent
pobiera wszystkie zdarzenia w dzienniku programu Windows PowerShell i zapisuje je w zmiennej $a
.
$a
Następnie jest przesyłane potokami do Select-Object
polecenia cmdlet. Polecenie Select-Object
używa parametru Index do wybierania zdarzeń z tablicy zdarzeń w zmiennej $a
. Indeks pierwszego zdarzenia to 0. Indeks ostatniego zdarzenia to liczba elementów z $a
minus 1.
$a = Get-WinEvent -LogName "Windows PowerShell"
$a | Select-Object -Index 0, ($a.count - 1)
Przykład 8. Zaznacz wszystko, ale pierwszy obiekt
W tym przykładzie zostanie utworzona nowa usługa PSSession na każdym z komputerów wymienionych w plikach Servers.txt z wyjątkiem pierwszego.
Select-Object
wybiera wszystkie, ale pierwszy komputer na liście nazw komputerów. Wynikowa lista komputerów jest ustawiana jako wartość parametru New-PSSession
ComputerName polecenia cmdlet.
New-PSSession -ComputerName (Get-Content Servers.txt | Select-Object -Skip 1)
Przykład 9. Zmiana nazwy plików i wybranie kilku do przejrzenia
W tym przykładzie dodano sufiks "-ro" do podstawowych nazw plików tekstowych, które mają atrybut tylko do odczytu, a następnie wyświetla pierwsze pięć plików, aby użytkownik mógł zobaczyć próbkę efektu.
Get-ChildItem
używa parametru dynamicznego ReadOnly do pobierania plików tylko do odczytu. Wynikowe pliki są przesyłane potokami do Rename-Item
polecenia cmdlet, które zmienia nazwę pliku. Używa parametru PassThru polecenia Rename-Item
, aby wysłać zmienione pliki do Select-Object
polecenia cmdlet, które wybiera pierwsze 5 do wyświetlenia.
Parametr Wait polecenia Select-Object
uniemożliwia programowi PowerShell zatrzymanie polecenia cmdlet po dokonaniu Get-ChildItem
pierwszych pięciu plików tekstowych tylko do odczytu. Bez tego parametru nazwa zostanie zmieniona tylko na pięć pierwszych plików tylko do odczytu.
Get-ChildItem *.txt -ReadOnly |
Rename-Item -NewName {$_.BaseName + "-ro.txt"} -PassThru |
Select-Object -First 5 -Wait
Przykład 10: Wyświetlanie zawiłości parametru -ExpandProperty
W tym przykładzie przedstawiono zawiłości parametru ExpandProperty .
Zwróć uwagę, że wygenerowane dane wyjściowe były tablicą [System.Int32]
wystąpień. Wystąpienia są zgodne ze standardowymi regułami formatowania widoku danych wyjściowych. Dotyczy to wszystkich właściwości rozwiniętych. Jeśli obiekty wyjściowe mają określony format standardowy, właściwość rozwinięta może nie być widoczna.
# Create a custom object to use for the Select-Object example.
$object = [pscustomobject]@{Name="CustomObject";Expand=@(1,2,3,4,5)}
# Use the ExpandProperty parameter to Expand the property.
$object | Select-Object -ExpandProperty Expand -Property Name
1
2
3
4
5
# The output did not contain the Name property, but it was added successfully.
# Use Get-Member to confirm the Name property was added and populated.
$object | Select-Object -ExpandProperty Expand -Property Name | Get-Member
TypeName: System.Int32
Name MemberType Definition
---- ---------- ----------
CompareTo Method int CompareTo(System.Object value), int CompareTo(int value), ...
Equals Method bool Equals(System.Object obj), bool Equals(int obj), bool IEq...
GetHashCode Method int GetHashCode()
GetType Method type GetType()
GetTypeCode Method System.TypeCode GetTypeCode(), System.TypeCode IConvertible.Ge...
ToBoolean Method bool IConvertible.ToBoolean(System.IFormatProvider provider)
ToByte Method byte IConvertible.ToByte(System.IFormatProvider provider)
ToChar Method char IConvertible.ToChar(System.IFormatProvider provider)
ToDateTime Method datetime IConvertible.ToDateTime(System.IFormatProvider provider)
ToDecimal Method decimal IConvertible.ToDecimal(System.IFormatProvider provider)
ToDouble Method double IConvertible.ToDouble(System.IFormatProvider provider)
ToInt16 Method int16 IConvertible.ToInt16(System.IFormatProvider provider)
ToInt32 Method int IConvertible.ToInt32(System.IFormatProvider provider)
ToInt64 Method long IConvertible.ToInt64(System.IFormatProvider provider)
ToSByte Method sbyte IConvertible.ToSByte(System.IFormatProvider provider)
ToSingle Method float IConvertible.ToSingle(System.IFormatProvider provider)
ToString Method string ToString(), string ToString(string format), string ToS...
ToType Method System.Object IConvertible.ToType(type conversionType, System...
ToUInt16 Method uint16 IConvertible.ToUInt16(System.IFormatProvider provider)
ToUInt32 Method uint32 IConvertible.ToUInt32(System.IFormatProvider provider)
ToUInt64 Method uint64 IConvertible.ToUInt64(System.IFormatProvider provider)
Name NoteProperty string Name=CustomObject
Przykład 11. Tworzenie właściwości niestandardowych w obiektach
W poniższym przykładzie pokazano użycie polecenia Select-Object
, aby dodać właściwość niestandardową do dowolnego obiektu.
Po określeniu nazwy właściwości, która nie istnieje, Select-Object
tworzy tę właściwość jako właściwość NoteProperty dla każdego przekazanego obiektu.
$customObject = 1 | Select-Object -Property MyCustomProperty
$customObject.MyCustomProperty = "New Custom Property"
$customObject
MyCustomProperty
----------------
New Custom Property
Przykład 12: Tworzenie właściwości obliczeniowych dla każdego obiektu InputObject
W tym przykładzie pokazano użycie polecenia Select-Object
w celu dodania właściwości obliczeniowych do danych wejściowych. Przekazanie elementu ScriptBlock do parametru Property powoduje Select-Object
obliczenie wyrażenia dla każdego przekazanego obiektu i dodanie wyników do danych wyjściowych. W elemencie ScriptBlock możesz użyć zmiennej $_
, aby odwołać się do bieżącego obiektu w potoku.
Domyślnie Select-Object
używa ciągu ScriptBlock jako nazwy właściwości. Za pomocą tabeli skrótu możesz oznaczyć dane wyjściowe scriptBlock jako właściwość niestandardową dodaną do każdego obiektu. Do każdego obiektu przekazanego do obiektu można dodać wiele właściwości obliczeniowych Select-Object
.
# Create a calculated property called $_.StartTime.DayOfWeek
Get-Process | Select-Object -Property ProcessName,{$_.StartTime.DayOfWeek}
ProcessName $_.StartTime.DayOfWeek
---- ----------------------
alg Wednesday
ati2evxx Wednesday
ati2evxx Thursday
...
# Add a custom property to calculate the size in KiloBytes of each FileInfo
# object you pass in. Use the pipeline variable to divide each file's length by
# 1 KiloBytes
$size = @{label="Size(KB)";expression={$_.length/1KB}}
# Create an additional calculated property with the number of Days since the
# file was last accessed. You can also shorten the key names to be 'l', and 'e',
# or use Name instead of Label.
$days = @{l="Days";e={((Get-Date) - $_.LastAccessTime).Days}}
# You can also shorten the name of your label key to 'l' and your expression key
# to 'e'.
Get-ChildItem $PSHOME -File | Select-Object Name, $size, $days
Name Size(KB) Days
---- -------- ----
Certificate.format.ps1xml 12.5244140625 223
Diagnostics.Format.ps1xml 4.955078125 223
DotNetTypes.format.ps1xml 134.9833984375 223
Przykład 13. Wybieranie kluczy tabeli skrótów bez używania właściwości obliczeniowych
Począwszy od programu PowerShell 6, Select-Object
obsługuje wybieranie kluczy danych wejściowych tabeli skrótu jako właściwości. Poniższy przykład wybiera weight
klucze i name
w tabeli skrótów wejściowych i wyświetla dane wyjściowe.
@{ name = 'a' ; weight = 7 } | Select-Object -Property name, weight
name weight
---- ------
a 7
Przykład 14: ExpandProperty zmienia oryginalny obiekt
W tym przykładzie pokazano efekt uboczny użycia parametru ExpandProperty . W przypadku używania właściwości ExpandPropertySelect-Object
dodaje wybrane właściwości do oryginalnego obiektu jako elementy członkowskie NoteProperty.
PS> $object = [PSCustomObject]@{
name = 'USA'
children = [PSCustomObject]@{
name = 'Southwest'
}
}
PS> $object
name children
---- --------
USA @{name=Southwest}
# Use the ExpandProperty parameter to expand the children property
PS> $object | Select-Object @{n="country"; e={$_.name}} -ExpandProperty children
name country
---- -------
Southwest USA
# The original object has been altered
PS> $object
name children
---- --------
USA @{name=Southwest; country=USA}
Jak widać, właściwość country została dodana do obiektu podrzędnego po użyciu parametru ExpandProperty.
Przykład 15: Tworzenie nowego obiektu z rozwiniętymi właściwościami bez zmiany obiektu wejściowego
Możesz uniknąć skutków ubocznych użycia parametru ExpandProperty , tworząc nowy obiekt i kopiując właściwości z obiektu wejściowego.
PS> $object = [PSCustomObject]@{
name = 'USA'
children = [PSCustomObject]@{
name = 'Southwest'
}
}
PS> $object
name children
---- --------
USA @{name=Southwest}
# Create a new object with selected properties
PS> $newobject = [PSCustomObject]@{
country = $object.name
children = $object.children
}
PS> $newobject
country children
------- --------
USA @{name=Southwest}
# $object remains unchanged
PS> $object
name children
---- --------
USA @{name=Southwest}
Parametry
-CaseInsensitive
Domyślnie w przypadku użycia parametru Unique polecenie cmdlet używa porównań z uwzględnieniem wielkości liter. W przypadku użycia tego parametru polecenie cmdlet używa porównań bez uwzględniania wielkości liter.
Ten parametr został dodany w programie PowerShell 7.4.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-ExcludeProperty
Określa właściwości, które to polecenie cmdlet wyklucza z operacji. Dozwolone są symbole wieloznaczne.
Począwszy od programu PowerShell 6, nie jest już wymagany do uwzględnienia parametru Property dla właściwości ExcludeProperty do działania.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | True |
-ExpandProperty
Określa właściwość do wybrania i wskazuje, że należy spróbować rozwinąć tę właściwość. Jeśli potok obiektu wejściowego nie ma właściwości o nazwie, Select-Object
zwraca błąd.
- Jeśli określona właściwość jest tablicą, każda wartość tablicy jest uwzględniona w danych wyjściowych.
- Jeśli określona właściwość jest obiektem, właściwości obiektów są rozszerzane dla każdego obiektu InputObject
W obu przypadkach typ obiektów wyjściowych jest zgodny z typem rozwiniętej właściwości.
Uwaga
Zastosowanie metody ExpandProperty wiąże się z efektem ubocznym. Element Select-Object
dodaje wybrane właściwości do oryginalnego obiektu jako elementy członkowskie NoteProperty .
Jeśli określono parametr Właściwość, Select-Object
próbuje dodać każdą wybraną właściwość jako właściwość NoteProperty do każdego obiektu wyjściowego.
Ostrzeżenie
Jeśli zostanie wyświetlony błąd, że nie można przetworzyć właściwości, ponieważ właściwość o tej nazwie już istnieje, rozważ następujące kwestie. Należy pamiętać, Select-Object
że w przypadku używania właściwości ExpandProperty nie można zastąpić istniejącej właściwości. Składają się na to następujące elementy:
- Jeśli rozwinięty obiekt ma właściwość o tej samej nazwie, polecenie zwraca błąd.
- Jeśli obiekt Selected ma właściwość o tej samej nazwie co właściwość obiektu Rozwinięte, polecenie zwraca błąd.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-First
Określa liczbę obiektów do wybrania od początku tablicy obiektów wejściowych.
Typ: | Int32 |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Index
Wybiera obiekty z tablicy na podstawie ich wartości indeksu. Wprowadź indeksy na liście rozdzielanej przecinkami. Indeksy w tablicy zaczynają się od 0, gdzie 0 reprezentuje pierwszą wartość, a (n-1) reprezentuje ostatnią wartość.
Typ: | Int32[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-InputObject
Określa obiekty, które mają być wysyłane do polecenia cmdlet za pośrednictwem potoku. Ten parametr umożliwia potok obiektów do Select-Object
obiektu .
Podczas przekazywania obiektów do parametru InputObject zamiast używania potoku Select-Object
obiekt InputObject traktuje obiekt InputObject jako pojedynczy obiekt, nawet jeśli wartość jest kolekcją. Zaleca się użycie potoku podczas przekazywania kolekcji do Select-Object
elementu .
Typ: | PSObject |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Last
Określa liczbę obiektów do wybrania z końca tablicy obiektów wejściowych.
Typ: | Int32 |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Property
Określa właściwości do wybrania. Te właściwości są dodawane jako elementy członkowskie NoteProperty do obiektów wyjściowych. Dozwolone są symbole wieloznaczne. Jeśli obiekt wejściowy nie ma właściwości o nazwie, wartość nowej właściwości NoteProperty jest ustawiona na $null
wartość .
Wartość parametru Property może być nową właściwością obliczeniową. Aby utworzyć tabelę obliczeniową, użyj tabeli skrótów.
Prawidłowe klucze to:
- Nazwa (lub etykieta) —
<string>
- Wyrażenie —
<string>
lub<script block>
Aby uzyskać więcej informacji, zobacz about_Calculated_Properties.
Typ: | Object[] |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | True |
-Skip
Pomija (nie wybiera) określoną liczbę elementów. Domyślnie liczba parametrów Pomiń od początku kolekcji obiektów. Jeśli polecenie używa ostatniego parametru, zlicza się z końca kolekcji.
W przeciwieństwie do parametru Index , który rozpoczyna liczenie na 0, parametr Skip zaczyna się od 1.
Począwszy od programu PowerShell 7.4, możesz użyć parametru Skip z parametrem SkipLast, aby pominąć elementy zarówno od początku, jak i na końcu kolekcji.
Typ: | Int32 |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-SkipIndex
Pomija (nie wybiera) obiektów z tablicy na podstawie ich wartości indeksu. Wprowadź indeksy na liście rozdzielanej przecinkami. Indeksy w tablicy zaczynają się od 0, gdzie 0 reprezentuje pierwszą wartość, a (n-1) reprezentuje ostatnią wartość.
Ten parametr został wprowadzony w programie Windows PowerShell 6.0.
Typ: | Int32[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-SkipLast
Pomija (nie wybiera) określoną liczbę elementów z końca listy lub tablicy. Działa w taki sam sposób, jak użycie polecenia Pomiń razem z parametrem Last .
W przeciwieństwie do parametru Index , który zaczyna liczyć na 0, parametr SkipLast zaczyna się od 1.
Począwszy od programu PowerShell 7.4, możesz użyć parametru Skip z parametrem SkipLast, aby pominąć elementy zarówno od początku, jak i na końcu kolekcji.
Typ: | Int32 |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Unique
Określa, że jeśli podzbiór obiektów wejściowych ma identyczne właściwości i wartości, należy wybrać tylko jeden element członkowski podzestawu.
Unikatowe wybiera wartości po zastosowaniu innych parametrów filtrowania.
W tym parametrze jest uwzględniana wielkość liter. W związku z tym ciągi, które różnią się tylko wielkością znaków, są uważane za unikatowe. Dodaj parametr CaseInsensitive, aby wykonać porównania bez uwzględniania wielkości liter.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Wait
Wskazuje, że polecenie cmdlet wyłącza optymalizację. Program PowerShell uruchamia polecenia w kolejności, w której są wyświetlane w potoku poleceń i umożliwia generowanie wszystkich obiektów. Domyślnie, jeśli dołączysz Select-Object
polecenie z parametrami First lub Index w potoku poleceń, program PowerShell zatrzymuje polecenie, które generuje obiekty zaraz po wygenerowaniu wybranej liczby obiektów.
Ten parametr został wprowadzony w programie Windows PowerShell 3.0.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
Do tego polecenia cmdlet można przekazać obiekty potokowe.
Dane wyjściowe
To polecenie cmdlet zwraca obiekty wejściowe tylko z wybranymi właściwościami.
Uwagi
Program PowerShell zawiera następujące aliasy dla programu Select-Object
:
- Wszystkie platformy:
select
Funkcja Select-Object
optymalizacji programu jest dostępna tylko w przypadku poleceń, które zapisują obiekty w potoku podczas ich przetwarzania. Nie ma to wpływu na polecenia, które buforują przetworzone obiekty i zapisują je jako kolekcję. Pisanie obiektów natychmiast jest najlepszym rozwiązaniem projektowym polecenia cmdlet. Aby uzyskać więcej informacji, zobacz Zapisywanie pojedynczych rekordów w potoku w zdecydowanie zachęcanych wytycznych dotyczących programowania.