PowerShell-Statistics icon indicating copy to clipboard operation
PowerShell-Statistics copied to clipboard

Get-Histogram - $Data vs Pipeline

Open lansalot opened this issue 6 years ago • 3 comments

Your examples at https://github.com/nicholasdille/PowerShell-Statistics

PS C:\> $Processes = Get-Process
PS C:\> $Histogram = $Processes | Get-Histogram -Property WorkingSet64 -BucketWidth 50mb -BucketCount 10

cmdlet Get-Histogram at command pipeline position 1
Supply values for the following parameters:
Data[0]:
Get-Histogram : Cannot validate argument on parameter 'Data'. The argument is null, empty, or an element of the
argument collection contains a null value. Supply a collection that does not contain any null values and then try the
command again.
At line:1 char:14
+ ... Processes | Get-Histogram -Property WorkingSet64 -BucketWidth 50mb -B ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [Get-Histogram], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Get-Histogram

Don't work - appears the cmdlet is expecting input via $Data instead of the pipeline.

lansalot avatar Jan 14 '19 12:01 lansalot

My bad. I realized that some cmdlets should not support the pipeline because they cannot process in a stream but rather need to work on the data as a whole.

I will keep this open as a reminder to fix the examples!

nicholasdille avatar Jan 14 '19 16:01 nicholasdille

No worries - thanks for Get-Histogram, that saved me a bit of coding! :)

lansalot avatar Jan 15 '19 09:01 lansalot

It seems the following doesn't work: Get-Histogram -InputObject $Processes -Property WorkingSet64 -BucketWidth 50mb -BucketCount 10

But it works with -InputObject omitted.

This is different from the documentation says:

-InputObject <Array>
    {{Fill InputObject Description}}
    
    Required?                    true
    Position?                    named
    Default value                None
    Accept pipeline input?       True (ByValue)
    Accept wildcard characters?  false

kundeng avatar Nov 11 '19 20:11 kundeng