Udostępnij za pomocą


Select-Object

Wybiera obiekty lub właściwości obiektu.

Składnia

DefaultParameter (Domyślna)

Select-Object
    [[-Property] <Object[]>]
    [-InputObject <PSObject>]
    [-ExcludeProperty <String[]>]
    [-ExpandProperty <String>]
    [-Unique]
    [-CaseInsensitive]
    [-Last <Int32>]
    [-First <Int32>]
    [-Skip <Int32>]
    [-Wait]
    [<CommonParameters>]

SkipLastParameter

Select-Object
    [[-Property] <Object[]>]
    [-InputObject <PSObject>]
    [-ExcludeProperty <String[]>]
    [-ExpandProperty <String>]
    [-Unique]
    [-CaseInsensitive]
    [-Skip <Int32>]
    [-SkipLast <Int32>]
    [<CommonParameters>]

IndexParameter

Select-Object
    [-InputObject <PSObject>]
    [-Unique]
    [-CaseInsensitive]
    [-Wait]
    [-Index <Int32[]>]
    [<CommonParameters>]

SkipIndexParameter

Select-Object
    [-InputObject <PSObject>]
    [-Unique]
    [-CaseInsensitive]
    [-SkipIndex <Int32[]>]
    [<CommonParameters>]

Opis

Polecenie cmdlet Select-Object 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, Skipi Index. Aby wybrać właściwości obiektu, użyj parametru właściwości . Po wybraniu właściwości Select-Object zwraca nowe obiekty, które mają tylko określone właściwości.

Począwszy od programu Windows PowerShell 3.0, Select-Object zawiera funkcję optymalizacji, która uniemożliwia polecenia tworzenia i przetwarzania obiektów, które nie są używane.

Jeśli używasz 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ć tę optymalizację zachowania, użyj parametru Wait.

Przykłady

Przykład 1. Wybieranie obiektów według właściwości

W tym przykładzie są tworzone obiekty, które mają właściwości Name, Idi zestawu roboczego (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 polecenia cmdlet do wyprowadzania tablicy wystąpień , które znajdują się w właściwości modułów każdego wystąpienia przez .

Parametr właściwości polecenia cmdlet Select-Object wybiera nazwy procesów. Spowoduje to dodanieProcessName NoteProperty do każdego wystąpienia [System.Diagnostics.ProcessModule] i wypełnienie go wartością właściwości ProcessName bieżącego procesu.

Na koniec Format-List 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 cmdlet Get-Process pobiera procesy na komputerze. Polecenie cmdlet Sort-Object sortuje procesy zgodnie z użyciem pamięci (zestawu roboczego), a polecenie cmdlet Select-Object wybiera tylko pięć ostatnich elementów członkowskich wynikowej tablicy obiektów.

Parametr Wait nie jest wymagany w poleceniach zawierających polecenie cmdlet Sort-Object, ponieważ Sort-Object przetwarza wszystkie obiekty, a następnie zwraca kolekcję. Optymalizacja Select-Object jest dostępna tylko w przypadku 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 parametru UniqueSelect-Object w celu pobrania unikatowych znaków 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

Wartości parametrów Unique są filtrowane po zastosowaniu innych parametrów Select-Object. Jeśli na przykład użyjesz parametru First do wybrania pierwszej liczby elementów w tablicy, Unikatowa 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 First wybiera "a","a" jako pierwsze 2 elementy w tablicy. unikatowa jest stosowana do "a","a" i zwraca a jako unikatową wartość.

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. Następnie $a jest potokowy do polecenia cmdlet Select-Object. Polecenie używa parametru indeksu do wybierania zdarzeń z tablicy zdarzeń w zmiennej . Indeks pierwszego zdarzenia to 0. Indeks ostatniego zdarzenia to liczba elementów w $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 ComputerName polecenia cmdlet New-PSSession.

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. Pliki wynikowe są przesyłane potokami do polecenia cmdlet Rename-Item, które zmienia nazwę pliku. Używa parametru PassThruRename-Item do wysyłania zmienionych plików do polecenia cmdlet Select-Object, które wybiera pierwsze 5 do wyświetlenia.

Parametr WaitSelect-Object uniemożliwia programowi PowerShell zatrzymanie polecenia cmdlet Get-ChildItem po dokonaniu 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ą wystąpień [System.Int32]. 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";List=@(1,2,3,4,5)}
# Use the ExpandProperty parameter to Expand the property.
$object | Select-Object -ExpandProperty List -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 List -Property Name | Get-Member -MemberType Properties
   TypeName: System.Int32

Name        MemberType   Definition
----        ----------   ----------
Name        NoteProperty string Name=CustomObject

Przykład 11. Tworzenie właściwości niestandardowych w obiektach

W poniższym przykładzie pokazano użycie Select-Object w celu dodania właściwości niestandardowej do dowolnego obiektu. Po określeniu nazwy właściwości, która nie istnieje, Select-Object tworzy tę właściwość jako 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 Select-Object w celu dodania właściwości obliczeniowych do danych wejściowych. Przekazanie ScriptBlock do parametru property powoduje, że ocenić wyrażenie dla każdego przekazanego obiektu i dodać wyniki do danych wyjściowych. W ScriptBlockmożna 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ąhashtable można oznaczyć dane wyjściowe ScriptBlock jako właściwość niestandardową dodaną do każdego obiektu. Do każdego obiektu przekazanego do Select-Objectmożna dodać wiele właściwości obliczeniowych.

# 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 wartości skrótu danych wejściowych jako właściwości. Poniższy przykład wybiera klucze weight i name na 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. Jeśli używasz ExpandProperty, Select-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ść kraju 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żna uniknąć skutków ubocznych używania 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}

Przykład 16. Użyj symboli wieloznacznych z parametrem -ExpandProperty

W tym przykładzie pokazano używanie symboli wieloznacznych z parametrem ExpandProperty . Symbol wieloznaczny musi być rozpoznawany jako pojedyncza nazwa właściwości. Jeśli symbol wieloznaczny jest rozpoznawany jako więcej niż jedna nazwa właściwości, Select-Object zwraca błąd.

# Create a custom object.
$object = [pscustomobject]@{
    Label   = "MyObject"
    Names   = @("John","Jane","Joe")
    Numbers = @(1,2,3,4,5)
}
# Try to expand multiple properties using a wildcard.
$object | Select-Object -ExpandProperty N*
Select-Object: Multiple properties cannot be expanded.

# Use a wildcard that resolves to a single property.
$object | Select-Object -ExpandProperty Na*
John
Jane
Joe

Parametry

-CaseInsensitive

Domyślnie w przypadku używania 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.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-ExcludeProperty

Określa właściwości, które to polecenie cmdlet wyklucza z operacji. Symbole wieloznaczne są dozwolone.

Począwszy od programu PowerShell 6, nie jest już wymagane dołączenie parametru Property dla ExcludeProperty do działania.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

DefaultParameter
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False
SkipLastParameter
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-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. Ten parametr obsługuje symbole wieloznaczne. Jednak symbol wieloznaczny musi być rozpoznawany jako pojedyncza nazwa właściwości. Jeśli symbol wieloznaczny jest rozpoznawany jako więcej niż jedna nazwa właściwości, Select-Object zwraca błąd.

W przypadku używania właściwości ExpandPropertySelect-Object próbuje rozwinąć określoną właściwość dla każdej

  • 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żdej InputObject

W obu przypadkach typ obiektów wyjściowych pasuje do właściwości Type. W przypadku używania ExpandPropertywystępuje efekt uboczny. Select-Object dodaje wybrane właściwości do oryginalnego obiektu jako elementy członkowskie NoteProperty.

Jeśli określono parametr właściwości, Select-Object próbuje dodać każdą wybraną właściwość jako 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ć, że w przypadku używania nie można zastąpić istniejącej właściwości. Oznacza to:

  • 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.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

DefaultParameter
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False
SkipLastParameter
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-First

Określa liczbę obiektów do wybrania od początku tablicy obiektów wejściowych.

Właściwości parametru

Typ:Int32
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

DefaultParameter
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów: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ść.

Właściwości parametru

Typ:

Int32[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

IndexParameter
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów: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.

Podczas przekazywania obiektów do parametru InputObject, zamiast używania potoku, Select-Object traktuje InputObject jako pojedynczy obiekt, nawet jeśli wartość jest kolekcją. Zaleca się użycie potoku podczas przekazywania kolekcji do Select-Object.

Właściwości parametru

Typ:PSObject
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Last

Określa liczbę obiektów do wybrania z końca tablicy obiektów wejściowych.

Właściwości parametru

Typ:Int32
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

DefaultParameter
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów: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. Symbole wieloznaczne są dozwolone. Jeśli obiekt wejściowy nie ma właściwości o nazwie, wartość nowej NoteProperty jest ustawiona na $null.

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, odnieś się do about_Calculated_Properties.

Właściwości parametru

Typ:

Object[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

DefaultParameter
Position:0
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False
SkipLastParameter
Position:0
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Skip

Pomija (nie wybiera) określoną liczbę elementów. Domyślnie Pomiń liczbę parametrów od początku kolekcji obiektów. Jeśli polecenie używa parametru Last, zlicza się z końca kolekcji.

W przeciwieństwie do parametru index , który rozpoczyna się odliczania od 0, parametr Pomiń zaczyna się od 1.

Począwszy od programu PowerShell 7.4, możesz użyć parametru Pomiń z parametrem SkipLast, aby pominąć elementy zarówno od początku, jak i na końcu kolekcji.

Właściwości parametru

Typ:Int32
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

DefaultParameter
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów: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.

Właściwości parametru

Typ:

Int32[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

SkipIndexParameter
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-SkipLast

Pomija (nie wybiera) określoną liczbę elementów z końca listy lub tablicy. Działa w taki sam sposób, jak w przypadku używania Pomiń razem z parametrem Last.

W przeciwieństwie do parametru Index, który rozpoczyna się odliczania od 0, parametr SkipLast rozpoczyna się od 1.

Począwszy od programu PowerShell 7.4, możesz użyć parametru Pomiń z parametrem SkipLast, aby pominąć elementy zarówno od początku, jak i na końcu kolekcji.

Właściwości parametru

Typ:Int32
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

SkipLastParameter
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów: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.

Unikatowa 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.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów: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. Jeśli domyślnie dołączysz polecenie Select-Object 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.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

DefaultParameter
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False
IndexParameter
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

Dane wejściowe

PSObject

Do tego polecenia cmdlet można przekazywać obiekty.

Dane wyjściowe

PSObject

To polecenie cmdlet zwraca obiekty wejściowe tylko z wybranymi właściwościami.

Uwagi

Program PowerShell zawiera następujące aliasy dla Select-Object:

  • Wszystkie platformy:
    • select

Funkcja optymalizacji Select-Object jest dostępna tylko dla 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 Write Single Records to the Pipeline in Zdecydowanie zachęcane wytyczne programistyczne.