Comment puis-je obtenir une propriété d'un objet dans powershell sans utiliser de parenthèses?

12

Je constate souvent que je dois entourer une commande entre parenthèses, puis utiliser l'opérateur d'accès à la propriété (syntaxe) pour obtenir la valeur d'une propriété. C’est plutôt agaçant, car je dois revenir au début de la ligne alors que je préfère simplement continuer à taper là où je suis. C’est particulièrement agaçant lorsque je me trouve au milieu d’un plus grand ensemble de commandes diffusées.

Exemple

Si j'ai la commande suivante

Get-PSProvider FileSystem

et je veux obtenir la Drivespropriété, je devrais d'abord entourer la commande entière entre parenthèses:

(Get-PSProvider FileSystem).Drives

Existe-t-il un moyen plus rapide d'obtenir la valeur d'une propriété unique?

brianpeiris
la source

Réponses:

14

Vous pouvez utiliser Select-Object -ExpandProperty <property name>. Cela peut être raccourci en utilisant l'alias selectet en tapant seulement une partie du nom de la propriété:

Get-PSProvider FileSystem| select -exp Drives

Un autre avantage de cette méthode est que vous pouvez accéder à une propriété unique pour plusieurs objets.

Cela ne renverra rien ( Mise à jour: cela fonctionne dans PowerShell v3.):

(Get-PSProvider).Drives

Toutefois, cela renvoie les lecteurs pour tous les fournisseurs:

Get-PSProvider| select -exp Drives
Rynant
la source
Très intéressant. Merci pour la correction.
Soandos