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