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?

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

Très intéressant. Merci pour la correction.
Soandos
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.