Select-Object

modul: Microsoft.PowerShell.Segédprogram

objektumok vagy objektum Tulajdonságok kiválasztása.

szintaxis

Select-Object >] 
Select-Object >] 

leírás

a Select-Object cmdlet egy objektum vagy objektumkészlet meghatározott tulajdonságait választja ki. Ez isválasszon egyedi objektumokat, meghatározott számú objektumot vagy objektumokat egy meghatározott helyzetben anarray-ban.

objektumok kiválasztásához a gyűjteményből használja az első, Utolsó, egyedi, Skip, andIndex paramétereket. Az objektum tulajdonságainak kiválasztásához használja a tulajdonság paramétert. A Select-Object olyan új objektumokat ad vissza, amelyek csak a megadott tulajdonságokkal rendelkeznek.

kezdve a Windows PowerShell 3.0, Select-Object tartalmaz egy optimalizálási funkciót, amely megakadályozza a nem használt objektumok létrehozását és feldolgozását.

Ha egySelect-Object parancsot tartalmaz az első vagy Index paraméterekkel a commandpipeline-ben, a PowerShell leállítja az objektumokat generáló parancsot, amint a kiválasztott számú objektum keletkezik, még akkor is, ha az objektumokat generáló parancs aSelect-Object parancs előtt jelenik meg a csővezetékben. Az optimalizáló viselkedés kikapcsolásához használja a Waitparamétert.

Examples

Example 1: Select objects by property

This example creates objects that have the Name, ID, and working set (ws) properties ofprocess objects.

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

2.példa: Objektumok kiválasztása tulajdonság szerint és az eredmények formázása

Ez a példa információkat kap a számítógép folyamataiban használt modulokról. Ez használGet-Process cmdlet, hogy a folyamat a számítógépen.

a Select-Object cmdlet használatával a példányok tömbjét adja ki az egyes System.Diagnostics.Process instanceoutput by Get-Process.

a Select-Object cmdlet Tulajdonságparamétere kiválasztja a folyamatneveket. Ez hozzáad egyProcessName NoteProperty minden példány és populatesit értékével aktuális folyamat ProcessName tulajdonság.

végül aFormat-List cmdlet az egyes folyamatok nevét és moduljait egy listában jeleníti meg.

3. példa: válassza ki a folyamatokat a legtöbb memóriával

Ez a példa megkapja a legtöbb memóriát használó öt folyamatot. A Get-Process cmdlet gets the processes on the computer. ASort-Object cmdlet a folyamatokat a memória(working set) használata szerint rendezi, a Select-Object cmdlet csak az objektumok utolsó öt tagját választja ki.

A várakozási paraméter nem szükséges olyan parancsokban, amelyek tartalmazzák a Sort-Object cmdlet mertSort-Object feldolgozza az összes objektumot, majd visszaad egy gyűjteményt. A Select-Object optimizationis csak olyan parancsok esetén érhető el, amelyek feldolgozásuk során egyenként visszaküldik az objektumokat.

4. példa: Válasszon egyedi karaktereket egy

tömbből ez a példa a Select-Object egyedi paramétereit használja, hogy egyedi karaktereket kapjon egy arrayof karakterből.

"a","b","c","a","a","a" | Select-Object -Uniqueabc

5.példa: válassza ki az Eseménynapló legújabb és legrégebbi eseményeit

Ez a példa lesz az első (legújabb) és utolsó (legrégebbi) esemény A Windows PowerShell eseménynaplójában.

Get-EventLogmegkapja az összes eseményt a Windows PowerShell naplójában, és elmenti őket a $a változóba.Ezután a $a a Select-Object parancsmagra kerül. ASelect-Object parancs az Indexparaméterrel választja ki az eseményeket a$a változóban. Az első esemény indexe 0. Az utolsó esemény indexe a $a mínusz 1 elemek száma.

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

6.példa: az összes kijelölése az első objektum kivételével

Ez a példa új PSSession-t hoz létre a kiszolgálókon felsorolt összes számítógépen.txt fájlok, kivéve az elsőt.

Select-Object kiválasztja az összes, de az első számítógép egy listát a számítógép nevét. A kapott listof számítógépek értéke a New-PSSession cmdlet ComputerName paraméter értéke.

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

7.példa: nevezze át a fájlokat, és válasszon többet a

áttekintéshez ez a példa”- ro ” utótagot ad a csak olvasható attribútummal rendelkező szöveges fájlok alapneveihez, majd megjeleníti az első öt fájlt, így a felhasználó láthatja a hatás mintáját.

Get-ChildItem A Csak olvasható dinamikus paramétert használja a csak olvasható fájlok eléréséhez. Az így kapott fájlok a Rename-Item cmdlet-re vannak átirányítva, amely átnevezi a fájlt. ARename-Item Passthru paraméterével elküldi az átnevezett fájlokat a Select-Object cmdlet-re, amely kiválasztja az első 5 fordisplay-t.

aSelect-Object várakozási paraméter megakadályozza, hogy a PowerShell megállítsa aGet-ChildItemcmdlet-t, miután megkapja az első öt csak olvasható szöveges fájlt. E paraméter nélkül csak az elsőöt csak olvasható fájlt átneveznének.

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

8. példa: Mutassa be a-ExpandProperty paraméter

bonyolultságát ez a példa bemutatja az ExpandProperty paraméter bonyolultságát.

vegye figyelembe, hogy a generált kimenet példányok tömbje volt. A példányok megfelelneka kimeneti nézet szabványos formázási szabályai. Ez igaz minden kibővített tulajdonságra. Ha az outputted objektumok meghatározott szabványos formátummal rendelkeznek, előfordulhat, hogy a kibővített tulajdonság nem látható.

# Create a custom object to use for the Select-Object example.$object = @{Name="CustomObject";Expand=@(1,2,3,4,5)}# Use the ExpandProperty parameter to Expand the property.$object | Select-Object -ExpandProperty Expand -Property Name12345# 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-MemberTypeName: System.Int32Name MemberType Definition---- ---------- ----------CompareTo Method int CompareTo(System.Object value), int CompareTo(int value), int IComparable.CompareTo(System.Object obj)...Equals Method bool Equals(System.Object obj), bool Equals(int obj), bool IEquatable.Equals(int other)GetHashCode Method int GetHashCode()GetType Method type GetType()GetTypeCode Method System.TypeCode GetTypeCode(), System.TypeCode IConvertible.GetTypeCode()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 ToString(System.IFormatProvider provider)...ToType Method System.Object IConvertible.ToType(type conversionType, System.IFormatProvider provider)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

9. példa: Egyéni tulajdonságok létrehozása

objektumokon a következő példa bemutatja a Select-Object egyéni tulajdonság hozzáadását bármely objektumhoz.Ha megad egy nem létező tulajdonságnevet, akkor aSelect-Object létrehozza azt a tulajdonságot, mint aNoteProperty minden átadott objektumon.

10. példa: számított tulajdonságok létrehozása minden InputObject

Ez a példa a Select-Object használatával mutatja be a számított tulajdonságok hozzáadását a bemenethez. Passinga ScriptBlock a tulajdonság paraméter okozSelect-Object, hogy értékelje a kifejezés oneach objektum telt hozzá az eredményeket a kimenet. A Scriptblockon belül a$_ változót használhatja a csővezeték aktuális objektumának hivatkozásához.

alapértelmezés szerint aSelect-Object A ScriptBlock karakterláncot használja a tulajdonság neveként. Az aHashtable használatával címkézheti a ScriptBlock kimenetét egyéni tulajdonságként, amelyet az eachobjecthez ad hozzá. A Select-Objectobjektumokhoz több kiszámított tulajdonságot is hozzáadhat.

paraméterek

– ExcludeProperty

meghatározza azokat a tulajdonságokat, amelyeket ez a cmdlet kizár a műveletből. Helyettesítő karakterek megengedettek.

kezdve PowerShell 6, ez már nem szükséges, hogy tartalmazza a tulajdonság paraméter forExcludeProperty dolgozni.

Típus: String
Beosztása: Nevű
Alapértelmezett érték: Nem
Elfogadni vezeték bemenet: False
Elfogadni helyettesítő karakterek: True
-ExpandProperty
  • ha a megadott tulajdonság egy tömb, akkor a tömb minden értéke szerepel a kimeneten.
  • ha a megadott tulajdonság objektum, akkor az objektumok tulajdonságai minden esetben kibővülnek az everyInputObject

esetén, az objektumok kimenete megegyezik a kibővített tulajdonság típusával.

Ha a Tulajdonságparaméter meg van adva, a Select-Object megpróbálja hozzáadni minden kiválasztott tulajdonságotproperty mint NoteProperty minden outputted objektumhoz.

Warning

Ha a hibaüzenet jelenik meg: Select : a tulajdonság nem dolgozható fel, mert a<PropertyName>tulajdonság már létezik, vegye figyelembe a következőket.Ne feledje, hogy ha a -ExpandPropertySelect-Object nem helyettesítheti a meglévő tulajdonság.Ez azt jelenti:

  • ha a kibővített objektum azonos nevű tulajdonsággal rendelkezik, hiba lép fel.
  • ha a kijelölt objektumnak ugyanaz a tulajdonsága van, mint egy kibővített objektum tulajdonságnak, akkor anerror lép fel.
Típus: String
Beosztása: Nevű
Alapértelmezett érték: Nem
Elfogadni vezeték bemenet: False
Elfogadja a helyettesítő karakterek használatát: False
Első

Megadja, hogy az objektumok száma, hogy válasszon az elején egy sor bemeneti tárgyakat.

Típus: Int32
Beosztása: Nevű
Alapértelmezett érték: Nem
Elfogadni vezeték bemenet: False
Elfogadja a helyettesítő karaktereket: False
Index

Kiválasztja tárgyak egy tömb alapján az index értékeket. Írja be az indexeket vesszővel elválasztottlistát. Az indexek egy tömbben 0-val kezdődnek, ahol a 0 az első értéket, az (n-1) pedig az utolsó értéket jelenti.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-InputObject

Specifies objects to send to the cmdlet through the pipeline. This parameter enables you to pipeobjects to Select-Object.

amikor objektumokat ad át az InputObject paraméternek, a pipeline használata helyett a Select-Object az InputObject-et egyetlen objektumként kezeli, még akkor is, ha az érték gyűjtemény. Itis javasoljuk, hogy használja a csővezetéket, amikor átadják gyűjtemények Select-Object.

Típus: PSObject
Beosztása: Nevű
Alapértelmezett érték: Nem
Elfogadni vezeték bemenet: True
Elfogadni helyettesítő karakterek: False
-Last

Specifies the number of objects to select from the end of an array of input objects.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Property

Specifies the properties to select. Ezek a tulajdonságok kerülnek hozzáadásra NoteProperty tagok theoutput objektumok. Helyettesítő karakterek megengedettek.

a Tulajdonságparaméter értéke lehet egy új számított tulajdonság. Számított tulajdonság létrehozásához használjon hash táblát.

érvényes kulcsok:

  • név (vagy címke) – <string>
  • kifejezés – <string> vagy <script block>

seeabout_calculated_properties.

Típus: objektum
pozíció: 0
alapértelmezett érték: None
pipeline input elfogadása: False
fogadja el a helyettesítő karaktereket: True
-Skip
kihagyja (nem választja) a megadott számú elemet. Alapértelmezés szerint a Skip paraméter számíta tömb elejétől vagy az objektumok listájától, de ha a parancs az utolsó paramétert használja,akkor a lista vagy a tömb végétől számít.

az Indexparaméterrel ellentétben, amely 0-nál kezdődik, a Skip paraméter 1-nél kezdődik.

Típus: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-SkipIndex
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-SkipLast

kihagyja a megadott számú elemet a lista vagy tömb végétől. Ugyanúgy működik, mint a Skip használata az utolsó paraméterrel együtt.

az Indexparaméterrel ellentétben, amely 0-nál kezdődik, a SkipLast paraméter 1-nél kezdődik.

Típus: Int32
pozíció:
alapértelmezett érték: None
: False
helyettesítő karakterek elfogadása: False
-Unique

meghatározza, hogy ha a beviteli objektumok egy részhalmaza azonos tulajdonságokkal és értékekkel rendelkezik, akkor csak az alcsoport egy tagja kerül kiválasztásra.

Ez a paraméter eset-érzékeny. Ennek eredményeként, húrok, amelyek különböznek csak a karakter burkolat areconsided, hogy egyedi.

Típus: SwitchParameter
pozíció:
alapértelmezett érték: None
pipeline input elfogadása: False
fogadja el a helyettesítő karaktereket: False
-várjon
azt jelzi, hogy a parancsmag kikapcsolja az optimalizálást. A PowerShell parancsokat futtat abban a sorrendben, hogy őkmegjelennek a parancs csővezetékben, lehetővé téve számukra az összes objektum generálását. Alapértelmezés szerint, ha egySelect-Object parancsot tartalmaz az első vagy Indexparaméterekkel egy parancsvezetékben, a Powershellmegállítja azt a parancsot, amely az objektumokat generálja, amint a kiválasztott objektumok száma létrejön.

ezt a paramétert a Windows PowerShell 3.0-ban vezették be.

Típus: SwitchParameter
pozíció: Named
alapértelmezett érték: None
hamis
helyettesítő karakterek elfogadása: False

Inputs

PSObject

bármely objektumotSelect-Object – re lehet pipálni.

kimenetek

PSObject

Megjegyzések

  • hivatkozhat aSelect-Object cmdlet beépített álnévvel,select. További információért lásd: about_Aliases.

  • aSelect-Object optimalizálási funkciója csak olyan parancsok esetén érhető el, amelyek az objektumokat írjáka csővezeték feldolgozása során. Nincs hatással a parancsokra, amelyek pufferelik a feldolgozott objektumokat ésírja őket gyűjteményként. Írásban tárgyak azonnal egy cmdlet design legjobb gyakorlat. További információért lásd: egyetlen rekord írása a csővezetékhez inStrongly ösztönözte a fejlesztési irányelveket.

  • about_Calculated_Properties
  • Group-Object
  • Rendezés-Object
  • hol-Object

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük