Select-Object
Sélectionne des objets ou des propriétés d'objet.
Syntaxe
DefaultParameter (Par défaut)
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
L’applet de commande Select-Object sélectionne les propriétés spécifiées d’un objet ou d’un ensemble d’objets. Il peut également sélectionner des objets uniques, un nombre spécifié d’objets ou des objets dans une position spécifiée dans un tableau.
Pour sélectionner des objets d’une collection, utilisez les paramètres First, Last, Unique, Skipet Index. Pour sélectionner des propriétés d’objet, utilisez le paramètre Property Select-Object retourne de nouveaux objets qui ont uniquement les propriétés spécifiées.
À compter de Windows PowerShell 3.0, Select-Object inclut une fonctionnalité d’optimisation qui empêche la création et le traitement d’objets qui ne sont pas utilisés.
Lorsque vous utilisez Select-Object les paramètres First ou Index dans un pipeline de commandes, PowerShell arrête la commande qui génère les objets dès que le nombre d’objets sélectionné est atteint. Pour désactiver ce comportement d’optimisation, utilisez le paramètre Wait.
Exemples
Exemple 1 : Sélectionner des objets par propriété
Cet exemple crée des objets qui ont les propriétés Name, Id et working set (WS) des objets de processus.
Get-Process | Select-Object -Property ProcessName, Id, WS
Exemple 2 : Sélectionner des objets par propriété et mettre en forme les résultats
Cet exemple obtient des informations sur les modules utilisés par les processus sur l’ordinateur. Il utilise Get-Process applet de commande pour obtenir le processus sur l’ordinateur.
Il utilise l’applet de commande Select-Object pour générer un tableau d’instances [System.Diagnostics.ProcessModule] comme contenu dans la propriété Modules de chaque sortie d’instance de System.Diagnostics.Process par Get-Process.
Le paramètre Property de l’applet Select-Object de commande sélectionne les noms de processus. Cela ajoute une ProcessNameNoteProperty à chaque [System.Diagnostics.ProcessModule] instance et la remplit avec la valeur de la propriété ProcessName du processus actuel.
Enfin, Format-List l’applet de commande est utilisée pour afficher le nom et les modules de chaque processus dans une liste.
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
...
Exemple 3 : Sélectionner des processus à l’aide de la mémoire la plus élevée
Cet exemple obtient les cinq processus qui utilisent le plus de mémoire. L’applet de commande Get-Process obtient les processus sur l’ordinateur. L’applet de commande Sort-Object trie les processus en fonction de l’utilisation de la mémoire (jeu de travail), et l’applet de commande Select-Object sélectionne uniquement les cinq derniers membres du tableau d’objets résultant.
Le paramètre Wait n’est pas obligatoire dans les commandes qui incluent l’applet Sort-Object de commande, car Sort-Object traite tous les objets, puis retourne une collection. L’optimisation Select-Object est disponible uniquement pour les commandes qui retournent des objets individuellement au fur et à mesure qu’ils sont traités.
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
Exemple 4 : Sélectionner des caractères uniques à partir d’un tableau
Cet exemple utilise le paramètre Unique pour Select-Object obtenir des caractères uniques à partir d’un tableau de caractères.
"a","b","c","a","A","a" | Select-Object -Unique
a
b
c
A
Exemple 5 : Utilisation de « -Unique » avec d’autres paramètres
Les valeurs des filtres de paramètres uniques après l’application d’autres Select-Object paramètres. Par exemple, si vous utilisez le paramètre First pour sélectionner le premier nombre d’éléments d’un tableau, Unique est appliqué uniquement aux valeurs sélectionnées et non à l’ensemble du tableau.
"a","a","b","c" | Select-Object -First 2 -Unique
a
Dans cet exemple, first sélectionne "a","a" les 2 premiers éléments du tableau.
Unique est appliqué et "a","a" retourne a comme valeur unique.
Exemple 6 : Sélectionner des chaînes uniques à l’aide du paramètre « -CaseInsensitive »
Cet exemple utilise des comparaisons qui ne respectent pas la casse pour obtenir des chaînes uniques à partir d’un tableau de chaînes.
"aa", "Aa", "Bb", "bb" | Select-Object -Unique -CaseInsensitive
aa
Bb
Exemple 7 : Sélectionner les événements les plus récents et les plus anciens dans le journal des événements
Cet exemple obtient les premiers événements (les plus récents) et les derniers (les plus anciens) dans le journal des événements Windows PowerShell.
Get-WinEvent obtient tous les événements dans le journal Windows PowerShell et les enregistre dans la $a variable.
Ensuite, $a est redirigé vers l’applet Select-Object de commande. La commande $a moins 1.
$a = Get-WinEvent -LogName "Windows PowerShell"
$a | Select-Object -Index 0, ($a.Count - 1)
Exemple 8 : Sélectionner tout mais le premier objet
Cet exemple crée une session PSSession sur chacun des ordinateurs répertoriés dans les fichiers Servers.txt, à l’exception de la première.
Select-Object sélectionne tout mais le premier ordinateur dans une liste de noms d’ordinateurs. La liste résultante des ordinateurs est définie comme valeur du paramètre ComputerName de l’applet de commande New-PSSession.
New-PSSession -ComputerName (Get-Content Servers.txt | Select-Object -Skip 1)
Exemple 9 : Renommer des fichiers et sélectionner plusieurs pour passer en revue
Cet exemple ajoute un suffixe « -ro » aux noms de base des fichiers texte qui ont l’attribut en lecture seule, puis affiche les cinq premiers fichiers afin que l’utilisateur puisse voir un exemple de l’effet.
Get-ChildItem utilise le paramètre dynamique ReadOnly pour obtenir des fichiers en lecture seule. Les fichiers résultants sont redirigés vers l’applet Rename-Item de commande, qui renomme le fichier. Il utilise le paramètre PassThru pour Rename-Item envoyer les fichiers renommés à l’applet Select-Object de commande, qui sélectionne les 5 premiers pour l’affichage.
Le paramètre Wait de Select-Object empêche PowerShell d’arrêter l’applet de commande Get-ChildItem une fois les cinq premiers fichiers texte en lecture seule. Sans ce paramètre, seuls les cinq premiers fichiers en lecture seule seraient renommés.
Get-ChildItem *.txt -ReadOnly |
Rename-Item -NewName {$_.BaseName + "-ro.txt"} -PassThru |
Select-Object -First 5 -Wait
Exemple 10 : Afficher les complexités du paramètre -ExpandProperty
Cet exemple montre les complexités du paramètre ExpandProperty .
Notez que la sortie générée était un tableau d’instances [System.Int32]. Les instances sont conformes aux règles de mise en forme standard de la vue sortie . Cela est vrai pour toutes les propriétés développées. Si les objets générés ont un format standard spécifique, la propriété développée peut ne pas être visible.
# 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
Exemple 11 : Créer des propriétés personnalisées sur des objets
L’exemple suivant illustre l’utilisation de Select-Object pour ajouter une propriété personnalisée à n’importe quel objet.
Lorsque vous spécifiez un nom de propriété qui n’existe pas, Select-Object crée cette propriété en tant que NoteProperty sur chaque objet passé.
$customObject = 1 | Select-Object -Property MyCustomProperty
$customObject.MyCustomProperty = "New Custom Property"
$customObject
MyCustomProperty
----------------
New Custom Property
Exemple 12 : Créer des propriétés calculées pour chaque InputObject
Cet exemple montre comment utiliser Select-Object pour ajouter des propriétés calculées à votre entrée. Le passage d’un $_ pour référencer l’objet actuel dans le pipeline.
Par défaut, Select-Object utilise la chaîne ScriptBlock comme nom de la propriété. À l’aide d’unde table de hachage 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
Exemple 13 : Sélectionner des clés de table de hachage sans utiliser de propriétés calculées
À compter de PowerShell 6, Select-Object prend en charge la sélection des clés d’entrée de table de hachage en tant que propriétés. L’exemple suivant sélectionne les weight clés d’une name table de hachage d’entrée et affiche la sortie.
@{ name = 'a' ; weight = 7 } | Select-Object -Property name, weight
name weight
---- ------
a 7
Exemple 14 : ExpandProperty modifie l’objet d’origine
Cet exemple illustre l’effet secondaire de l’utilisation du paramètre ExpandProperty . Lorsque vous utilisez ExpandProperty, Select-Object ajoute les propriétés sélectionnées à l’objet d’origine en tant que membres 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}
Comme vous pouvez le voir, la propriété country a été ajoutée à l’objet enfants après l’utilisation du paramètre ExpandProperty .
Exemple 15 : Créer un objet avec des propriétés développées sans modifier l’objet d’entrée
Vous pouvez éviter l’effet secondaire de l’utilisation du paramètre ExpandProperty en créant un objet et en copiant les propriétés à partir de l’objet d’entrée.
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}
Exemple 16 : Utiliser des caractères génériques avec le paramètre -ExpandProperty
Cet exemple montre comment utiliser des caractères génériques avec le paramètre ExpandProperty . Le caractère générique doit être résolu en un nom de propriété unique. Si le caractère générique est résolu en plusieurs noms de propriété, Select-Object retourne une erreur.
# 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
Paramètres
-CaseInsensitive
Par défaut, lorsque vous utilisez le paramètre Unique , l’applet de commande utilise des comparaisons respectant la casse. Lorsque vous utilisez ce paramètre, l’applet de commande utilise des comparaisons qui ne respectent pas la casse.
Ce paramètre a été ajouté dans PowerShell 7.4.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-ExcludeProperty
Spécifie les propriétés que cette applet de commande exclut de l’opération. Les caractères génériques sont autorisés.
À compter de PowerShell 6, il n’est plus nécessaire d’inclure le paramètre Property pour ExcludeProperty .
Propriétés du paramètre
| Type: | String[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | True |
| DontShow: | False |
Jeux de paramètres
DefaultParameter
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
SkipLastParameter
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-ExpandProperty
Spécifie une propriété à sélectionner et indique qu’une tentative doit être effectuée pour développer cette propriété. Si le pipeline d’objet d’entrée n’a pas la propriété nommée, Select-Object retourne une erreur. Ce paramètre prend en charge les caractères génériques. Toutefois, le caractère générique doit être résolu en un seul nom de propriété. Si le caractère générique est résolu en plusieurs noms de propriété, Select-Object retourne une erreur.
Lorsque vous utilisez ExpandProperty, Select-Object tente de développer la propriété spécifiée pour chaque
- Si la propriété spécifiée est un tableau, chaque valeur du tableau est incluse dans la sortie.
- Si la propriété spécifiée est un objet, les propriétés d’objets sont développées pour chaque InputObject
Dans les deux cas, le type des objets de sortie correspond au type de la propriété développée. Il existe un effet secondaire lors de l’utilisation de ExpandProperty. Ajoute Select-Object les propriétés sélectionnées à l’objet d’origine en tant que membres NoteProperty .
Si le paramètre Property est spécifié, Select-Object tente d’ajouter chaque propriété sélectionnée en tant que NoteProperty à chaque objet généré.
Avertissement
Si vous recevez une erreur indiquant qu’une propriété ne peut pas être traitée, car une propriété portant ce nom existe déjà, tenez compte des éléments suivants. Notez que lors de l’utilisation de ExpandProperty, Select-Object ne peut pas remplacer une propriété existante. En d’autres termes :
- Si l’objet développé a une propriété du même nom, la commande retourne une erreur.
- Si l’objet Selected a une propriété du même nom que la propriété d’un objet développé , la commande renvoie une erreur.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | True |
| DontShow: | False |
Jeux de paramètres
DefaultParameter
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
SkipLastParameter
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-First
Spécifie le nombre d’objets à sélectionner à partir du début d’un tableau d’objets d’entrée.
Propriétés du paramètre
| Type: | Int32 |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
DefaultParameter
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Index
Sélectionne les objets d’un tableau en fonction de leurs valeurs d’index. Entrez les index dans une liste séparée par des virgules. Les index d’un tableau commencent par 0, où 0 représente la première valeur et (n-1) représente la dernière valeur.
Propriétés du paramètre
| Type: | Int32[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
IndexParameter
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-InputObject
Spécifie les objets à envoyer à l’applet de commande via le pipeline. Ce paramètre vous permet de diriger des objets vers Select-Object.
Lorsque vous passez des objets au paramètre InputObject, au lieu d’utiliser le pipeline, Select-Object traite le InputObject comme un seul objet, même si la valeur est une collection. Il est recommandé d’utiliser le pipeline lors du passage de regroupements à Select-Object.
Propriétés du paramètre
| Type: | PSObject |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Last
Spécifie le nombre d’objets à sélectionner à partir de la fin d’un tableau d’objets d’entrée.
Propriétés du paramètre
| Type: | Int32 |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
DefaultParameter
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Property
Spécifie les propriétés à sélectionner. Ces propriétés sont ajoutées en tant que membres NoteProperty aux objets de sortie. Les caractères génériques sont autorisés. Si l’objet d’entrée n’a pas la propriété nommée, la valeur du nouveau NoteProperty est définie $nullsur .
La valeur du paramètre Property
Les clés valides sont les suivantes :
- Nom (ou étiquette) -
<string> - Expression -
<string>ou<script block>
Pour plus d'informations, voir about_Calculated_Properties.
Propriétés du paramètre
| Type: | Object[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | True |
| DontShow: | False |
Jeux de paramètres
DefaultParameter
| Position: | 0 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
SkipLastParameter
| Position: | 0 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Skip
Ignore (ne sélectionne pas) le nombre spécifié d’éléments. Par défaut, le paramètre Skip compte à partir du début de la collection d’objets. Si la commande utilise le paramètre Last , elle compte à partir de la fin de la collection.
Contrairement au paramètre index de
À compter de PowerShell 7.4, vous pouvez utiliser le paramètre Skip avec le paramètre SkipLast pour ignorer les éléments du début et de la fin de la collection.
Propriétés du paramètre
| Type: | Int32 |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
DefaultParameter
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-SkipIndex
Ignore (ne sélectionne pas) les objets d’un tableau en fonction de leurs valeurs d’index. Entrez les index dans une liste séparée par des virgules. Les index d’un tableau commencent par 0, où 0 représente la première valeur et (n-1) représente la dernière valeur.
Ce paramètre a été introduit dans Windows PowerShell 6.0.
Propriétés du paramètre
| Type: | Int32[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
SkipIndexParameter
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-SkipLast
Ignore (ne sélectionne pas) le nombre spécifié d’éléments à partir de la fin de la liste ou du tableau. Fonctionne de la même façon que l’utilisation de Ignorer avec paramètre Last.
Contrairement au paramètre index
À compter de PowerShell 7.4, vous pouvez utiliser le paramètre Skip avec le paramètre SkipLast pour ignorer les éléments du début et de la fin de la collection.
Propriétés du paramètre
| Type: | Int32 |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
SkipLastParameter
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Unique
Spécifie que si un sous-ensemble des objets d’entrée a des propriétés et des valeurs identiques, seul un seul membre du sous-ensemble doit être sélectionné.
Unique sélectionne les valeurs après l’application d’autres paramètres de filtrage.
Ce paramètre respecte la casse. Par conséquent, les chaînes qui diffèrent uniquement dans la casse de caractères sont considérées comme uniques. Ajoutez le paramètre CaseInsensitive pour effectuer des comparaisons qui ne respectent pas la casse.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Wait
Indique que l’applet de commande désactive l’optimisation. PowerShell exécute des commandes dans l’ordre dans lequel elles apparaissent dans le pipeline de commandes et leur permet de générer tous les objets. Par défaut, si vous incluez une commande Select-Object avec les paramètres First ou Index dans un pipeline de commandes, PowerShell arrête la commande qui génère les objets dès que le nombre d’objets sélectionné est généré.
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
DefaultParameter
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
IndexParameter
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
CommonParameters
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
Entrées
PSObject
Vous pouvez diriger des objets vers cette applet de commande.
Sorties
PSObject
Cette applet de commande retourne les objets d’entrée avec uniquement les propriétés sélectionnées.
Notes
PowerShell inclut les alias suivants pour Select-Object:
- Toutes les plateformes :
select
La fonctionnalité d’optimisation est Select-Object disponible uniquement pour les commandes qui écrivent des objets dans le pipeline au fur et à mesure qu’ils sont traités. Elle n’a aucun effet sur les commandes qui ont traité les objets et les écrivent en tant que collection. L’écriture d’objets immédiatement est une bonne pratique de conception d’applet de commande. Pour plus d’informations, consultez Écrire des enregistrements uniques dans le pipeline dans des instructions de développement fortement encouragées.