Projecting an enumeration allows you to extract specific members of each object, to extract all the details, or to compute values for each object

Synonyms:

Select-Object
select

Selecting a subset of the properties:

$dir = dir "C:\\MyFolder"

$dir | Select-Object Name, FullName, Attributes
$dir | select Name, FullName, Attributes

Name | FullName | Attributes | –– | –––– | ———–– | Images | C:\MyFolder\Images | Directory | data.txt | C:\MyFolder\data.txt | Archive | source.c | C:\MyFolder\source.c | Archive |

Selecting the first element, and show all its properties:

$d | select -first 1 *

| | |

|—|—|—| |PSPath |:| Microsoft.PowerShell.Core\FileSystem::C:\MyFolder\Images | |PSParentPath |:| Microsoft.PowerShell.Core\FileSystem::C:\MyFolder | |PSChildName |:| Images | |PSDrive |:| C | |PSProvider |:| Microsoft.PowerShell.Core\FileSystem | |PSIsContainer |:| True | |BaseName |:| Images | |Mode |:| d–– | |Name |:| Images | |Parent |:| MyFolder | |Exists |:| True | |Root |:| C:\ | |FullName |:| C:\MyFolder\Images | |Extension |:| | |CreationTime |:| 4/26/2016 9:57:48 AM | |CreationTimeUtc |:| 4/26/2016 1:57:48 PM | |LastAccessTime |:| 4/26/2016 9:57:48 AM | |LastAccessTimeUtc |:| 4/26/2016 1:57:48 PM | |LastWriteTime |:| 4/26/2016 9:57:48 AM | |LastWriteTimeUtc |:| 4/26/2016 1:57:48 PM | |Attributes |:| Directory |