VMware Cloud Community
ganapa2000
Hot Shot
Hot Shot

Get-Stat : A parameter cannot be found that matches parameter name 'WorkingDays'.

Hi,

I am trying to add the working days for the below script, getting the error, please help

$vms = Get-VM -Name (Get-Content ".\servers.txt")

$yRange = $vms.Name | %{"Usage[$_-CpuAvg]","Usage[$_-MemAvg]"} | Sort-Object

$headers = $yRange.replace('Usage[','').replace(']','')

$chart1 = New-ExcelChart -Title Usage -ChartType BarClustered -Header 'Usage' -XRange 'Usage[Timestamp]' -YRange $yRange -SeriesHeader $headers

$sStat = @{

  Stat = 'cpu.usage.average','mem.usage.average','net.usage.average','disk.usage.average'

  WorkingDays = "Monday","Tuesday","Wednesday","Thursday","Friday"

  Start = (Get-Date -Hour 10 -Minute 0 -Second 0).AddDays(-1)

  Finish = (Get-Date -Hour 10 -Minute 0 -Second 0).AddDays(-1).AddHours(12)

  Instance = ''

  MaxSamples = [int]::MaxValue

  Entity = $vms

  ErrorAction = 'SilentlyContinue'

}

Get-Stat @sStat |

Group-Object -Property {$_.Timestamp} |

ForEach-Object -Process {

   $obj = [ordered]@{

   Timestamp = $_.Name

   }

   $_.Group | Group-Object -Property {$_.Entity.Name} |

   ForEach-Object -Process {

   $obj.Add("$($_.Name)-CpuAvg",($_.Group | where{$_.MetricId -eq 'cpu.usage.average'}).Value)

   $obj.Add("$($_.Name)-MemAvg",($_.Group | where{$_.MetricId -eq 'mem.usage.average'}).Value)

   $obj.Add("$($_.Name)-DiskAvg",($_.Group | where{$_.MetricId -eq 'disk.usage.average'}).Value)

   $obj.Add("$($_.Name)-NetAvg",($_.Group | where{$_.MetricId -eq 'net.usage.average'}).Value)

   }

   New-Object -TypeName PSObject -Property $obj

} | Export-Excel -Path ".\report.xlsx"

Error

WARNING: The header parameter is ignored.

Get-Stat : A parameter cannot be found that matches parameter name 'WorkingDays'.

At D:\perf\6.ps1:18 char:10

+ Get-Stat @sStat |

+          ~~~~~~

    + CategoryInfo          : InvalidArgument: (:) [Get-Stat], ParameterBindingException

    + FullyQualifiedErrorId : NamedParameterNotFound,VMware.VimAutomation.ViCore.Cmdlets.Commands.GetViStats

0 Kudos
1 Reply
LucD
Leadership
Leadership

The Get-Stat cmdlet has no parameter named WorkingDays.
You can achieve that by filtering (Where-clause) the statistical data after the Get-Stat.
See an example in PowerCLI & VSphere Statistics – Part 2 – Come Together


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

0 Kudos