Select-Object (Microsoft.PowerShell.Utility)


Select-Object

Modül:
Microsoft.PowerShell.Utility

Nesneleri veya nesne özelliklerini seçer.

Sözdizimi

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>]

Tanım

Select-Object cmdlet'i bir nesnenin veya nesne kümesinin belirtilen özelliklerini seçer. Ayrıca benzersiz nesneleri, belirli sayıda nesneyi veya bir dizide belirli bir konumdaki nesneleri de seçebilir.

Bir koleksiyondan nesne seçmek için İlk, Son, Benzersiz, Atla ve Dizin'i kullanın parametreleri. Nesne özelliklerini seçmek için Özellik parametresini kullanın. Özellikleri seçtiğinizde, Select-Object yalnızca belirtilen özelliklere sahip yeni nesneler döndürür.

Windows PowerShell 3.0'dan itibaren Select-Object, komutların kullanılmayan nesneleri oluşturmasını ve işlemesini engelleyen bir optimizasyon özelliği içerir.

Bir komut kanalında First veya Index parametreleriyle Select-Object'i kullandığınızda, PowerShell nesneleri oluşturan komutu, Seçilen nesne sayısına ulaşıldı. Bu optimizasyon davranışını kapatmak için Bekle parametresini kullanın.

Örnekler

Örnek 1: Nesneleri özelliğine göre seçin

Bu örnek, süreç nesnelerinin Ad, Kimlik ve çalışma kümesi (WS) özelliklerine sahip nesneler oluşturur.

Get-Process | Select-Object -Property ProcessName, Id, WS

Örnek 2: Nesneleri özelliğine göre seçin ve sonuçları biçimlendirin

Bu örnek, bilgisayardaki işlemler tarafından kullanılan modüller hakkında bilgi alır. İşlemi bilgisayara almak için Get-Process cmdlet'ini kullanır.

Her < öğesinin Modules özelliğinde yer alan bir [System.Diagnostics.ProcessModule] örneği dizisinin çıktısını almak için Select-Object cmdlet'ini kullanır. Get-Process tarafındanSystem.Diagnostics.Process örneği çıktısı.

Select-Object cmdlet'inin Property parametresi işlem adlarını seçer. Bu, her [System.Diagnostics.ProcessModule] örneğine bir ProcessName NoteProperty ekler ve bunu geçerli işlemin ProcessName< değeriyle doldurur. özelliği.

Son olarak, her işlemin adını ve modüllerini bir listede görüntülemek için Format-List cmdlet'i kullanılır.

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

Örnek 3: En fazla belleği kullanan işlemleri seçin

Bu örnek, en fazla belleği kullanan beş işlemi alır. Get-Process cmdlet'i bilgisayardaki işlemleri alır. Sort-Object cmdlet'i, işlemleri bellek (çalışma kümesi) kullanımına göre sıralar ve Select-Object cmdlet'i, ortaya çıkan nesne dizisinin yalnızca son beş üyesini seçer.

Wait parametresi, Sort-Object cmdlet'ini içeren komutlarda gerekli değildir çünkü Sort-Object tüm nesneleri işler ve ardından bir koleksiyon döndürür. Select-Object optimizasyonu yalnızca nesneleri işlenirken tek tek döndüren komutlar için kullanılabilir.

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

Örnek 4: Bir diziden benzersiz karakterler seçin

Bu örnek, bir karakter dizisinden benzersiz karakterler elde etmek için Select-Object'in Benzersiz parametresini kullanır.

"a","b","c","a","A","a" | Select-Object -Unique

a
b
c
A

Örnek 5: "-Benzersiz"in diğer parametrelerle kullanılması

Benzersiz parametresi, diğer Select-Object parametreleri uygulandıktan sonra değerleri filtreler. Örneğin, bir dizideki ilk öğe sayısını seçmek için İlk parametresini kullanırsanız, Benzersiz tüm diziye değil yalnızca seçilen değerlere uygulanır.

"a","a","b","c" | Select-Object -First 2 -Unique

a

Bu örnekte İlk, dizideki ilk 2 öğe olarak "a""'yı seçer. Benzersiz, "a","a"'ya uygulanır ve benzersiz değer olarak a değerini döndürür.

Örnek 6: `-CaseIn sensitive` parametresini kullanarak benzersiz dizeleri seçin

Bu örnek, bir dize dizisinden benzersiz dizeler elde etmek için büyük/küçük harfe duyarlı olmayan karşılaştırmalar kullanır.

"aa", "Aa", "Bb", "bb" | Select-Object -Unique -CaseInsensitive

aa
Bb

Örnek 7: Olay günlüğündeki en yeni ve en eski olayları seçin

Bu örnek, Windows PowerShell olay günlüğündeki ilk (en yeni) ve son (en eski) olayları alır.

Get-WinEvent, Windows PowerShell günlüğündeki tüm olayları alır ve bunları $a değişkenine kaydeder. Daha sonra $a, Select-Object cmdlet'ine aktarılır. Select-Object komutu, $a değişkenindeki olaylar dizisinden olayları seçmek için Index parametresini kullanır. İlk olayın dizini 0'dır. Son olayın dizini $a eksi 1'deki öğe sayısıdır.

$a = Get-WinEvent -LogName "Windows PowerShell"
$a | Select-Object -Index 0, ($a.count - 1)

Örnek 8: İlk nesne dışındaki tüm nesneleri seçin

Bu örnek, ilki hariç, Servers.txt dosyalarında listelenen bilgisayarların her birinde yeni bir PSSession oluşturur.

Select-Object, bilgisayar adları listesindeki ilk bilgisayar dışındaki tüm bilgisayarları seçer. Sonuçta ortaya çıkan bilgisayar listesi, New-PSSession cmdlet'inin ComputerName parametresinin değeri olarak ayarlanır.

New-PSSession -ComputerName (Get-Content Servers.txt | Select-Object -Skip 1)

Örnek 9: Dosyaları yeniden adlandırın ve incelemek üzere birkaçını seçin

Bu örnek, salt okunur özniteliğe sahip metin dosyalarının temel adlarına bir "-ro" son eki ekler ve ardından kullanıcının efektin bir örneğini görebilmesi için ilk beş dosyayı görüntüler.

Get-ChildItem, salt okunur dosyaları almak için ReadOnly dinamik parametresini kullanır. Ortaya çıkan dosyalar, dosyayı yeniden adlandıran Rename-Item cmdlet'ine aktarılır. Yeniden adlandırılan dosyaları, görüntülenmek üzere ilk 5'i seçen Select-Object cmdlet'ine göndermek için Rename-Item'in PassThru parametresini kullanır.

Select-Object'in Wait parametresi, PowerShell'in ilk beş salt okunur metin dosyasını aldıktan sonra Get-ChildItem cmdlet'ini durdurmasını engeller. Bu parametre olmadan yalnızca ilk beş salt okunur dosya yeniden adlandırılır.

Get-ChildItem *.txt -ReadOnly |
    Rename-Item -NewName {$_.BaseName + "-ro.txt"} -PassThru |
    Select-Object -First 5 -Wait

Örnek 10: -ExpandProperty parametresinin inceliklerini gösterin

Bu örnek, ExpandProperty parametresinin inceliklerini göstermektedir.

Oluşturulan çıktının bir [System.Int32] örneği dizisi olduğunu unutmayın. Örnekler, Çıktı Görünümü'nün standart biçimlendirme kurallarına uygundur. Bu, tüm Genişletilmiş özellikler için geçerlidir. Çıktısı alınan nesnelerin belirli bir standart formatı varsa genişletilmiş özellik görünmeyebilir.

# 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

Örnek 11: Nesnelerde özel özellikler oluşturma

Aşağıdaki örnek, herhangi bir nesneye özel bir özellik eklemek için Select-Object kullanımını gösterir. Var olmayan bir özellik adı belirttiğinizde, Select-Object bu özelliği aktarılan her nesnede NoteProperty olarak oluşturur.

$customObject = 1 | Select-Object -Property MyCustomProperty
$customObject.MyCustomProperty = "New Custom Property"
$customObject

MyCustomProperty
----------------
New Custom Property

Örnek 12: Her bir OutputObject için hesaplanmış özellikler oluşturun

Bu örnek, girişinize hesaplanan özellikleri eklemek için Select-Object kullanımını gösterir. Property parametresine bir ScriptBlock iletmek, Select-Object'in iletilen her nesnedeki ifadeyi değerlendirmesine ve sonuçları çıktıya eklemesine neden olur. ScriptBlock içinde, ardışık düzendeki mevcut nesneye referans vermek için $_ değişkenini kullanabilirsiniz.

Varsayılan olarak Select-Object, özelliğin adı olarak ScriptBlock dizesini kullanır. Bir Hashtable kullanarak, ScriptBlock'unuzun çıktısını her nesneye eklenen özel bir özellik olarak etiketleyebilirsiniz. Select-Object'e iletilen her nesneye birden çok hesaplanmış özellik ekleyebilirsiniz.

# 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

Örnek 13: Hesaplanan özellikleri kullanmadan karma tablosu anahtarlarını seçin

PowerShell 6'dan itibaren Select-Object, hashtable girişinin anahtarlarının özellik olarak seçilmesini destekler. Aşağıdaki örnek, bir giriş karma tablosundaki ağırlık ve ad anahtarlarını seçer ve çıktıyı görüntüler.

@{ name = 'a' ; weight = 7 } | Select-Object -Property name, weight

name weight
---- ------
a         7

Örnek 14: ExpandProperty orijinal nesneyi değiştirir

Bu örnek, ExpandProperty parametresini kullanmanın yan etkisini göstermektedir. ExpandProperty'yi kullandığınızda, Select-Object seçilen özellikleri NoteProperty üyeleri olarak orijinal nesneye ekler.

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}

Gördüğünüz gibi children nesnesine ExpandProperty parametresi kullanıldıktan sonra country özelliği eklendi.

Örnek 15: Giriş nesnesini değiştirmeden genişletilmiş özelliklere sahip yeni bir nesne oluşturun

Yeni bir nesne oluşturup özellikleri giriş nesnesinden kopyalayarak ExpandProperty parametresini kullanmanın yan etkisinden kaçınabilirsiniz.

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}

Parametreler

-CaseInsensitive

Varsayılan olarak, Benzersiz parametresini kullandığınızda cmdlet büyük/küçük harfe duyarlı karşılaştırmalar kullanır. Bu parametreyi kullandığınızda cmdlet, büyük/küçük harfe duyarlı olmayan karşılaştırmalar kullanır.

Bu parametre PowerShell 7.4'e eklenmiştir.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-ExcludeProperty

Bu cmdlet'in işlem dışında bırakacağı özellikleri belirtir. Joker karakterlere izin verilir.

PowerShell 6'dan itibaren, ExcludeProperty'nin çalışması için Property parametresinin eklenmesine artık gerek yoktur.

Tip :

String[]

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

True

-ExpandProperty

Seçilecek bir özelliği belirtir ve bu özelliği genişletmek için bir girişimde bulunulması gerektiğini belirtir. Giriş nesnesi ardışık düzeninin adlandırılmış özelliği yoksa Select-Object bir hata döndürür.

  • Belirtilen özellik bir dizi ise dizinin her değeri çıktıya dahil edilir.
  • Belirtilen özellik bir nesneyse nesnelerin özellikleri her InputObject için genişletilir

Her iki durumda da çıktı nesnelerinin Türü, genişletilmiş özelliğin Türü ile eşleşir.

Not

ExpandProperty kullanıldığında bir yan etki ortaya çıkar. Select-Object, seçilen özellikleri orijinal nesneye NoteProperty üyeleri olarak ekler.

Property parametresi belirtilirse, Select-Object, seçilen her özelliği, çıktısı alınan her nesneye bir NoteProperty olarak eklemeye çalışır.

Uyarı

Bu ada sahip bir özellik zaten mevcut olduğundan bu özelliğin işlenemediğini belirten bir hata alırsanız aşağıdakileri göz önünde bulundurun. ExpandProperty kullanıldığında Select-Object'in mevcut bir özelliğin yerini alamayacağını unutmayın. Bu şu anlama gelir:

  • Genişletilen nesnenin aynı adı taşıyan bir özelliği varsa komut bir hata döndürür.
  • Seçilmiş nesnesi, Genişletilmiş nesnesinin özelliğiyle aynı adı taşıyan bir özelliğe sahipse, komut bir hata döndürür.
Tip :

String

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-First

Giriş nesneleri dizisinin başından itibaren seçilecek nesnelerin sayısını belirtir.

Tip :

Int32

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Index

Dizin değerlerine göre bir dizideki nesneleri seçer. Dizinleri virgülle ayrılmış bir listeye girin. Bir dizideki dizinler 0 ile başlar; burada 0 ilk değeri, (n-1) ise son değeri temsil eder.

Tip :

Int32[]

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-InputObject

İşlem hattı aracılığıyla cmdlet'e gönderilecek nesneleri belirtir. Bu parametre, nesneleri Select-Object'e yönlendirmenizi sağlar.

Nesneleri InputObject parametresine ilettiğinizde, işlem hattını kullanmak yerine Select-Object, InputObject'i tek bir nesne olarak ele alır. değer bir koleksiyondur. Koleksiyonları Select-Object'e aktarırken ardışık düzeni kullanmanız önerilir.

Tip :

PSObject

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

False

-Last

Giriş nesneleri dizisinin sonundan seçilecek nesnelerin sayısını belirtir.

Tip :

Int32

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Property

Seçilecek özellikleri belirtir. Bu özellikler, çıktı nesnelerine NoteProperty üyeleri olarak eklenir. Joker karakterlere izin verilir. Giriş nesnesinin adlandırılmış özelliği yoksa yeni NoteProperty'nin değeri $null olarak ayarlanır.

Özellik parametresinin değeri yeni bir hesaplanmış özellik olabilir. Hesaplanmış bir özellik oluşturmak için karma tablosu kullanın.

Geçerli anahtarlar şunlardır:

  • Ad (veya Etiket) - <string>
  • İfade - <string> veya <script; bloğu>

Daha fazla bilgi için bkz. about_Calculated_Properties.

Tip :

Object[]

Konum:

0

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

True

-Skip

Belirtilen sayıda öğeyi atlar (seçmez). Varsayılan olarak Atla parametresi, nesne koleksiyonunun başlangıcından itibaren sayılır. Komut Son parametresini kullanıyorsa koleksiyonun sonundan itibaren sayılır.

Saymaya 0'dan başlayan Index parametresinden farklı olarak Atla parametresi 1'den başlar.

PowerShell 7.4'ten başlayarak, koleksiyonun hem başından hem de sonundaki öğeleri atlamak için Skip parametresini SkipLast parametresiyle birlikte kullanabilirsiniz.

Tip :

Int32

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-SkipIndex

Dizin değerlerine göre bir dizideki nesneleri atlar (seçmez). Dizinleri virgülle ayrılmış bir listeye girin. Bir dizideki dizinler 0 ile başlar; burada 0 ilk değeri, (n-1) ise son değeri temsil eder.

Bu parametre Windows PowerShell 6,0'da kullanılmaya başlandı.

Tip :

Int32[]

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-SkipLast

Listenin veya dizinin sonundan belirtilen sayıda öğeyi atlar (seçmez). Atla'yı Son parametresiyle birlikte kullanmakla aynı şekilde çalışır.

Saymaya 0'dan başlayan Index parametresinden farklı olarak SkipLast parametresi 1'den başlar.

PowerShell 7.4'ten başlayarak, koleksiyonun hem başından hem de sonundaki öğeleri atlamak için Skip parametresini SkipLast parametresiyle birlikte kullanabilirsiniz.

Tip :

Int32

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Unique

Giriş nesnelerinin bir alt kümesi aynı özelliklere ve değerlere sahipse alt kümenin yalnızca tek bir üyesinin seçilmesi gerektiğini belirtir.

Benzersiz, diğer filtreleme parametreleri uygulandıktan sonra değerleri seçer.

Bu parametre büyük/küçük harfe duyarlıdır. Sonuç olarak, yalnızca karakter büyüklüğü bakımından farklılık gösteren dizelerin benzersiz olduğu kabul edilir. Büyük/küçük harfe duyarlı olmayan karşılaştırmalar gerçekleştirmek için Büyük/Küçük Harfe Duyarlı parametresini ekleyin.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Wait

Cmdlet'in optimizasyonu kapattığını belirtir. PowerShell, komutları komut hattında göründükleri sırayla çalıştırır ve tüm nesneleri oluşturmalarına olanak tanır. Varsayılan olarak, bir komut hattına First veya Index parametreleriyle bir Select-Object komutu eklerseniz PowerShell, nesneyi oluşturan komutu durdurur. seçilen sayıda nesne oluşturulur oluşturulmaz nesneler.

Bu parametre Windows PowerShell 3,0'da kullanılmaya başlandı.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

Girişler

PSObject

Nesneleri bu cmdlet'e aktarabilirsiniz.

Çıkışlar

PSObject

Bu cmdlet yalnızca seçilen özelliklere sahip giriş nesnelerini döndürür.

Notlar

PowerShell, Select-Object için aşağıdaki takma adları içerir:

  • Tüm platformlar:

      select

Select-Object'in optimizasyon özelliği yalnızca nesneleri işlenirken ardışık düzene yazan komutlar için kullanılabilir. İşlenen nesneleri ara belleğe alan ve bunları koleksiyon olarak yazan komutlar üzerinde hiçbir etkisi yoktur. Nesneleri hemen yazmak cmdlet tasarımının en iyi uygulamasıdır. Daha fazla bilgi için Güçlü Şekilde Teşvik Edilen Geliştirme Yönergeleri'ndeki Ardışık Düzene Tek Kayıtlar Yazma konusuna bakın.

İlgili makaleler