views:

34

answers:

1

In a PowerShell script I am trying to get the number of page faults per second with this command:

(Get-WmiObject Win32_PerfFormattedData_PerfOS_memory).PageFaultsPersec

Unfortunately, it reads always the same value because I don't Refresh() the performance counter.

How can I send a Refresh() method to Pervormance Data via PowerShell?

+1  A: 

You can get the value using performance counters:

Get-Counter '\Memory\Page Faults/sec'

However, if I call you code in a loop, it works without problems (although it is better practise to first store the wmi object).

1..10 | % { sleep -sec 2; (Get-WmiObject Win32_PerfFormattedData_PerfOS_memory).PageFaultsPersec }
stej
Thank you stej!
lrosa
Glad to help. I've seen many people to try refresh the wmi perf counters but nobody who succeeded :|
stej