Thursday, February 21, 2013

Get Perfmon data with Powershell

Sometimes you just want to have a look at the system performance, or you feel tired with log on the server, open the perfmon and configure the performance counter, perhaps you want to run a simple command to get the performance data from remote server, here we have a convenient way check the system performance counter on remote server:

Powershell Command : Get-Counter

However, read the data from Get-Counter is not a easy way, so I wrapped it up with several functions and put them into a powershell module : osperfmon.psm1
you can download it from

Here is the steps to run it
       1.Setup the module.
    • Download the osperfmon.psm1, Copy it to local drive
    • Open powershell window, and import the module
                    Import-Module .\osPerfmon.psm1
    • List the available function
                   Get-Command -Module osperfmon

      2. Get Function detail.
       You can get the function help with "Get-Help -detailed", for instance
       Get-Help Get-CPUPerf -Detailed

Here is the sample for each function:
1. Get-CPUPerf

   2. Get-DiskPerf

 3. Get-MemoryPerf

4. Get-NetPerf

5. Get-ProcessPerf

Each function has several parameter, like -SortBy, -Top. you can customize it with your demand.

your suggestion and advice are welcomed. thanks