param( [Parameter(Mandatory=$true)] [string]$Counter ) if ($Counter -notlike "\*") { $Counter = "\" + $Counter } $tempFile = $Counter -Replace "\\","-" $tempFile = $tempFile -Replace " ","_" $tempFile = $tempFile -Replace "\*","asterisk" $tempFile = "$env:temp\prev" + $tempFile + ".txt" $curr = (Get-Counter $Counter -ErrorAction SilentlyContinue).CounterSamples.CookedValue if ($curr -eq $null) { throw "Counter ($($Counter)) not found" } if (Test-Path $tempFile) { $prev = [int](Get-Content $tempFile -ErrorAction SilentlyContinue) } else { $prev = $curr } $curr | Set-Content $tempFile if ($curr -gt $prev) { return [int]($curr - $prev) } else { return 0 }