Vous pouvez utiliser l'applet de commande Select-Object pour créer des objets Windows PowerShell personnalisés contenant des propriétés sélectionnées dans les objets que vous utilisez pour les créer. Tapez la commande suivante pour créer un objet incluant uniquement les propriétés Name et FreeSpace de la classe WMI Win32_LogicalDisk :

PS> Get-WmiObject -Class Win32_LogicalDisk | Select-Object -Property Name,FreeSpace

Name                                    FreeSpace
----                                    ---------
C:                                      50664845312

Vous ne pouvez pas voir le type de données après avoir émis cette commande, mais si vous dirigez le résultat vers Get-Member après Select-Object, vous constatez que vous disposez d'un nouveau type d'objet, PSCustomObject :

PS> Get-WmiObject -Class Win32_LogicalDisk | Select-Object -Property Name,FreeSpace| Get-Member


   TypeName: System.Management.Automation.PSCustomObject

Name        MemberType   Definition
----        ----------   ----------
Equals      Method       System.Boolean Equals(Object obj)
GetHashCode Method       System.Int32 GetHashCode()
GetType     Method       System.Type GetType()
ToString    Method       System.String ToString()
FreeSpace   NoteProperty  FreeSpace=...
Name        NoteProperty System.String Name=C:

Select-Object peut être utilisé de nombreuses manières. L'une d'elles est la réplication de données que vous pouvez ensuite modifier. Nous pouvons maintenant traiter le problème rencontré au cours de la section précédente. Nous pouvons mettre à jour la valeur de FreeSpace dans nos objets récemment créés et la sortie inclura le libellé descriptif :

Get-WmiObject -Class Win32_LogicalDisk | Select-Object -Property Name,FreeSpace | ForEach-Object -Process {$_.FreeSpace = ($_.FreeSpace)/1024.0/1024.0; $_}
Name                                                                  FreeSpace
----                                                                  ---------
C:                                                                48317.7265625




Table des matières