Comment utiliser la “Propriété” de paramètre pour PowerShell est “à la Mesure de l'Objet” applet de commande?

Pourquoi ne

$a = GPS AcroRd32 | Measure
$a.Count

travail, quand

GPS AcroRd32 | Measure -Property Count

ne l'est pas?

Le premier exemple renvoie une valeur de 2, qui est ce que je veux, qui est un entier.

Le deuxième exemple retourne ceci:

Measure-Object : Property "Count" cannot be found in any object(s) input.
At line:1 char:23
+ GPS AcroRd32 | Measure <<<<  -Property Count
    + CategoryInfo          : InvalidArgument: (:) [Measure-Object], PSArgumentException
    + FullyQualifiedErrorId : GenericMeasurePropertyNotFound,Microsoft.PowerShell.Commands.MeasureObjectCommand


Ce scripteur entrée est là que j'ai appris comment utiliser le "Comte" de la Propriété dans le premier exemple de code.

Le deuxième exemple de code est vraiment déroutant. Dans ce Script de référence du Centre, la déclaration suivante fonctionne:

Import-Csv c:\scripts\test.txt | Measure-Object score -ave -max -min

Il fonctionne toujours, même si c'est re-écrite comme suit:

Import-Csv c:\scripts\test.txt | Measure-Object -ave -max -min -property score

Je n'ai pas trop de problèmes avec l'acceptation de cette jusqu'à ce que je considère comme le Mesure-Objet page d'aide. La définition de paramètres pour -Property <string[]> états:

La valeur par défaut est le Comte (Longueur) de la propriété de l'objet.

Si Count est la valeur par défaut, ne devrait-elle pas explicitement autorisé de Count travail?

GPS AcroRd32 | Measure -Property Count # Fails

La suite me donne les informations dont j'ai besoin, sauf qu'il ne veut pas me fournir un nombre entier pour effectuer des opérations, comme vous allez le voir:

PS C:\Users\Me> $a = GPS AcroRd32 | Measure
PS C:\Users\Me> $a

Count    : 2
Average  :
Sum      :
Maximum  :
Minimum  :
Property :

PS C:\Users\Me> $a -is [int]
False


Alors, pourquoi ne Point Notation ($a.count) de travail, mais pas expressément une déclaration écrite (GPS | Measure -Property Count)?

Si je suis censé utiliser la Notation Point, je le ferai, mais je voudrais profiter de cette occasion pour en apprendre davantage sur comment et *pourquoi PowerShell fonctionne de cette façon, plutôt que la simple construction d'une compréhension superficielle de PowerShell de la syntaxe. Pour le dire d'une autre façon, je veux éviter de se transformer en un Culte Du Cargo Programmeur/Code Monkey.

InformationsquelleAutor Stisfa | 2011-09-30