Dela via


Select-Object

Markerar objekt eller objektegenskaper.

Syntax

DefaultParameter (Standard)

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

Description

Cmdleten Select-Object väljer angivna egenskaper för ett objekt eller en uppsättning objekt. Den kan också välja unika objekt, ett angivet antal objekt eller objekt i en angiven position i en matris.

Om du vill välja objekt från en samling använder du parametrarna First, Last, Unique, Skipoch Index. Om du vill välja objektegenskaper använder du parametern Egenskap. När du väljer egenskaper returnerar Select-Object nya objekt som bara har de angivna egenskaperna.

Från och med Windows PowerShell 3.0 innehåller Select-Object en optimeringsfunktion som förhindrar att kommandon skapar och bearbetar objekt som inte används.

När du använder Select-Object med parametrarna First eller Index i en kommandopipeline stoppar PowerShell kommandot som genererar objekten så snart det valda antalet objekt har nåtts. Om du vill inaktivera det här optimeringsbeteendet använder du parametern Wait.

Exempel

Exempel 1: Välj objekt efter egenskap

I det här exemplet skapas objekt som har egenskaperna Name, IDoch working set (WS) för processobjekt.

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

Exempel 2: Välj objekt efter egenskap och formatera resultatet

Det här exemplet hämtar information om de moduler som används av processerna på datorn. Den använder Get-Process cmdlet för att hämta processen på datorn.

Den använder cmdleten Select-Object för att mata ut en matris med [System.Diagnostics.ProcessModule] instanser som finns i egenskapen Modules för varje System.Diagnostics.Process instansutdata av Get-Process.

Parametern egenskap för cmdleten Select-Object väljer processnamnen. Detta lägger till en ProcessNameNoteProperty- till varje [System.Diagnostics.ProcessModule]-instans och fyller den med värdet för den aktuella processens egenskap ProcessName.

Slutligen används Format-List cmdlet för att visa namn och moduler för varje process i en lista.

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

Exempel 3: Välj processer med mest minne

Det här exemplet hämtar de fem processer som använder mest minne. Cmdleten Get-Process hämtar processerna på datorn. Cmdleten Sort-Object sorterar processerna enligt minnesanvändning (arbetsuppsättning) och Select-Object-cmdleten väljer endast de sista fem medlemmarna i den resulterande matrisen med objekt.

Parametern Wait krävs inte i kommandon som innehåller cmdleten Sort-Object eftersom Sort-Object bearbetar alla objekt och sedan returnerar en samling. Optimeringen Select-Object är endast tillgänglig för kommandon som returnerar objekt individuellt när de bearbetas.

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

Exempel 4: Välj unika tecken från en matris

I det här exemplet används parametern Unique för Select-Object för att hämta unika tecken från en matris med tecken.

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

Exempel 5: Använda "-Unik" med andra parametrar

Parametern Unique filtrerar värden efter att andra Select-Object parametrar har tillämpats. Om du till exempel använder parametern First för att välja det första antalet objekt i en matris, tillämpas Unika endast på de valda värdena och inte på hela matrisen.

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

I det här exemplet väljer First"a","a" som de första två objekten i matrisen. Unika tillämpas på "a","a" och returnerar a som det unika värdet.

Exempel 6: Välj unika strängar med parametern "-CaseInsensitive"

I det här exemplet används skiftlägesokänsliga jämförelser för att hämta unika strängar från en matris med strängar.

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

Exempel 7: Välj de senaste och äldsta händelserna i händelseloggen

Det här exemplet hämtar de första (senaste) och sista (äldsta) händelserna i Windows PowerShell-händelseloggen.

Get-WinEvent hämtar alla händelser i Windows PowerShell-loggen och sparar dem i variabeln $a. Sedan skickas $a till cmdleten Select-Object. Kommandot Select-Object använder parametern Index för att välja händelser från matrisen med händelser i variabeln $a. Indexet för den första händelsen är 0. Indexet för den senaste händelsen är antalet objekt i $a minus 1.

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

Exempel 8: Markera alla utom det första objektet

I det här exemplet skapas en ny PSSession på var och en av de datorer som anges i Servers.txt-filerna, förutom den första.

Select-Object väljer alla utom den första datorn i en lista över datornamn. Den resulterande listan över datorer anges som värdet för parametern ComputerName i cmdleten New-PSSession.

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

Exempel 9: Byt namn på filer och välj flera att granska

Det här exemplet lägger till suffixet "-ro" i basnamnen för textfiler som har det skrivskyddade attributet och visar sedan de första fem filerna så att användaren kan se ett exempel på effekten.

Get-ChildItem använder den dynamiska parametern ReadOnly för att hämta skrivskyddade filer. De resulterande filerna skickas till cmdleten Rename-Item som byter namn på filen. Den använder parametern PassThru för Rename-Item för att skicka de omdöpta filerna till cmdleten Select-Object, som väljer de första 5 för visning.

Parametern Wait för Select-Object hindrar PowerShell från att stoppa Get-ChildItem-cmdleten när den får de fem första skrivskyddade textfilerna. Utan den här parametern skulle endast de första fem skrivskyddade filerna byta namn.

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

Exempel 10: Visa invecklingarna för parametern -ExpandProperty

Det här exemplet visar invecklingarna i parametern ExpandProperty.

Observera att utdata som genererades var en matris med [System.Int32] instanser. Instanserna följer standardformateringsreglerna i utdatavyn. Detta gäller för alla expanderade egenskaper. Om utdataobjekten har ett specifikt standardformat kanske den expanderade egenskapen inte visas.

# 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

Exempel 11: Skapa anpassade egenskaper för objekt

I följande exempel visas hur du använder Select-Object för att lägga till en anpassad egenskap i alla objekt. När du anger ett egenskapsnamn som inte finns skapar Select-Object egenskapen som en NoteProperty- för varje objekt som skickas.

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

Exempel 12: Skapa beräknade egenskaper för varje InputObject

Det här exemplet visar hur du använder Select-Object för att lägga till beräknade egenskaper i dina indata. Om du skickar en ScriptBlock- till parametern EgenskapSelect-Object utvärdera uttrycket för varje objekt som skickas och lägga till resultatet i utdata. I ScriptBlockkan du använda variabeln $_ för att referera till det aktuella objektet i pipelinen.

Som standard använder Select-Object strängen ScriptBlock som namnet på egenskapen. Med hjälp av en Hashtable-kan du märka utdata från din ScriptBlock- som en anpassad egenskap som läggs till i varje objekt. Du kan lägga till flera beräknade egenskaper för varje objekt som skickas till 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

Exempel 13: Välj hashtable-nycklar utan att använda beräknade egenskaper

Från och med PowerShell 6 stöder Select-Object val av nycklar för hashtable indata som egenskaper. I följande exempel väljs weight och name nycklar på en indata-hashtabell och visar utdata.

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

Exempel 14: ExpandProperty ändrar det ursprungliga objektet

Det här exemplet visar bieffekten av att använda parametern ExpandProperty. När du använder ExpandPropertylägger Select-Object till de markerade egenskaperna i det ursprungliga objektet som NoteProperty medlemmar.

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}

Som du ser lades egenskapen land till i underordnade objekt efter att ha använt parametern ExpandProperty.

Exempel 15: Skapa ett nytt objekt med expanderade egenskaper utan att ändra indataobjektet

Du kan undvika bieffekten av att använda parametern ExpandProperty genom att skapa ett nytt objekt och kopiera egenskaperna från indataobjektet.

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}

Exempel 16: Använd jokertecken med parametern -ExpandProperty

Det här exemplet visar hur du använder jokertecken med parametern ExpandProperty . Jokertecknet måste matchas till ett enda egenskapsnamn. Om jokertecknet matchar fler än ett egenskapsnamn Select-Object returnerar ett fel.

# 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

Parametrar

-CaseInsensitive

När du använder parametern Unique använder cmdleten skiftlägeskänsliga jämförelser som standard. När du använder den här parametern använder cmdleten skiftlägesokänsliga jämförelser.

Den här parametern lades till i PowerShell 7.4.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-ExcludeProperty

Anger de egenskaper som den här cmdleten exkluderar från åtgärden. Jokertecken tillåts.

Från och med PowerShell 6 krävs det inte längre att parametern Property för ExcludeProperty ska fungera.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:True
DontShow:False

Parameteruppsättningar

DefaultParameter
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
SkipLastParameter
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-ExpandProperty

Anger en egenskap som ska väljas och anger att ett försök ska göras att expandera den egenskapen. Om indataobjektpipelinen inte har egenskapen med namnet returnerar Select-Object ett fel. Den här parametern stöder jokertecken. Jokertecknet måste dock matchas mot ett enda egenskapsnamn. Om jokertecknet matchar fler än ett egenskapsnamn Select-Object returnerar ett fel.

När du använder ExpandPropertySelect-Object försöker du expandera den angivna egenskapen för varje

  • Om den angivna egenskapen är en matris inkluderas varje värde för matrisen i utdata.
  • Om den angivna egenskapen är ett objekt expanderas objektegenskaperna för varje InputObject-

I båda fallen matchar utdataobjektens typ den expanderade egenskapens typ. Det finns en bieffekt när du använder ExpandProperty. Select-Object lägger till de markerade egenskaperna i det ursprungliga objektet som NoteProperty medlemmar.

Om parametern Egenskap anges försöker Select-Object lägga till varje vald egenskap som en NoteProperty- till varje utdataobjekt.

Varning

Om du får ett felmeddelande om att en egenskap inte kan bearbetas eftersom det redan finns en egenskap med det namnet bör du överväga följande. Observera att när du använder ExpandPropertykan Select-Object inte ersätta en befintlig egenskap. Detta innebär att:

  • Om det expanderade objektet har en egenskap med samma namn returnerar kommandot ett fel.
  • Om objektet Selected har en egenskap med samma namn som en Expanderad objektets egenskap returnerar kommandot ett fel.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:True
DontShow:False

Parameteruppsättningar

DefaultParameter
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
SkipLastParameter
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-First

Anger antalet objekt som ska väljas från början av en matris med indataobjekt.

Parameteregenskaper

Typ:Int32
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

DefaultParameter
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Index

Markerar objekt från en matris baserat på deras indexvärden. Ange indexen i en kommaavgränsad lista. Index i en matris börjar med 0, där 0 representerar det första värdet och (n-1) representerar det sista värdet.

Parameteregenskaper

Typ:

Int32[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

IndexParameter
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-InputObject

Anger objekt som ska skickas till cmdleten via pipelinen. Med den här parametern kan du skicka ut objekt till Select-Object.

När du skickar objekt till parametern InputObject, i stället för att använda pipelinen, behandlar Select-ObjectInputObject- som ett enda objekt, även om värdet är en samling. Vi rekommenderar att du använder pipelinen när du skickar samlingar till Select-Object.

Parameteregenskaper

Typ:PSObject
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Last

Anger antalet objekt som ska väljas från slutet av en matris med indataobjekt.

Parameteregenskaper

Typ:Int32
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

DefaultParameter
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Property

Anger vilka egenskaper som ska väljas. Dessa egenskaper läggs till som NoteProperty medlemmar i utdataobjekten. Jokertecken tillåts. Om indataobjektet inte har egenskapen med namnet anges värdet för den nya NoteProperty till $null.

Värdet för parametern Property kan vara en ny beräknad egenskap. Om du vill skapa en beräknad egenskap använder du en hash-tabell.

Giltiga nycklar är:

  • Namn (eller etikett) – <string>
  • Uttryck – <string> eller <script block>

Mer information finns i about_Calculated_Properties.

Parameteregenskaper

Typ:

Object[]

Standardvärde:None
Stöder jokertecken:True
DontShow:False

Parameteruppsättningar

DefaultParameter
Position:0
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
SkipLastParameter
Position:0
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Skip

Hoppar över (väljer inte) det angivna antalet objekt. Som standard räknas parametern Hoppa över från början av samlingen med objekt. Om kommandot använder parametern Last räknas den från slutet av samlingen.

Till skillnad från parametern Index, som börjar räkna vid 0, börjar parametern Hoppa över vid 1.

Från och med PowerShell 7.4 kan du använda parametern Hoppa över med parametern SkipLast för att hoppa över objekt från både början och slutet av samlingen.

Parameteregenskaper

Typ:Int32
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

DefaultParameter
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-SkipIndex

Hoppar över (väljer inte) objekten från en matris baserat på deras indexvärden. Ange indexen i en kommaavgränsad lista. Index i en matris börjar med 0, där 0 representerar det första värdet och (n-1) representerar det sista värdet.

Den här parametern introducerades i Windows PowerShell 6.0.

Parameteregenskaper

Typ:

Int32[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

SkipIndexParameter
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-SkipLast

Hoppar över (väljer inte) det angivna antalet objekt från slutet av listan eller matrisen. Fungerar på samma sätt som med Hoppa över tillsammans med parametern Last.

Till skillnad från parametern Index, som börjar räkna vid 0, börjar parametern SkipLast vid 1.

Från och med PowerShell 7.4 kan du använda parametern Hoppa över med parametern SkipLast för att hoppa över objekt från både början och slutet av samlingen.

Parameteregenskaper

Typ:Int32
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

SkipLastParameter
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Unique

Anger att om en delmängd av indataobjekten har identiska egenskaper och värden ska endast en enskild medlem i delmängden väljas.

Unikt väljer värden när andra filtreringsparametrar har tillämpats.

Den här parametern är skiftlägeskänslig. Därför anses strängar som endast skiljer sig åt i teckenhöljet vara unika. Lägg till parametern CaseInsensitive för att utföra skiftlägesokänsliga jämförelser.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Wait

Anger att cmdleten inaktiverar optimering. PowerShell kör kommandon i den ordning de visas i kommandopipelinen och låter dem generera alla objekt. Om du som standard inkluderar ett Select-Object-kommando med parametrarna First eller Index i en kommandopipeline, stoppar PowerShell kommandot som genererar objekten så snart det valda antalet objekt genereras.

Den här parametern introducerades i Windows PowerShell 3.0.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

DefaultParameter
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
IndexParameter
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

Indata

PSObject

Du kan skicka objekt till den här cmdleten.

Utdata

PSObject

Den här cmdleten returnerar indataobjekten med endast de valda egenskaperna.

Kommentarer

PowerShell innehåller följande alias för Select-Object:

  • Alla plattformar:
    • select

Optimeringsfunktionen i Select-Object är endast tillgänglig för kommandon som skriver objekt till pipelinen när de bearbetas. Det påverkar inte kommandon som buffrar bearbetade objekt och skriver dem som en samling. Att skriva objekt omedelbart är en metod för cmdlet-design. Mer information finns i Skriva enskilda poster till Pipeline- i starkt uppmuntrade utvecklingsriktlinjer.