Nick Offerman, best known as Ron Swanson from NBC’s “Parks & Recreation,” and Kevin Harrington, one of the original sharks from “Shark Tank” will be headlining Connect IT Global. Get your tickets to Las Vegas or our virtual event today! >

Windows System Stability Index

Sidney Sahdala
Sidney Sahdala Miami, FLMember, Kaseya Certified CHOCOLATE MILK
edited August 18 in Product

Product Name: Windows System Stability Index

Version: 1.0

Description : This agent procedure gets an average of the Windows System Stability Index and puts the result in a Custom Field so you can see its reliability. This can help find endpoints that will have problems such as application and operating system crashes, slowness, and other problems that can negatively affect the system. This agent procedure is a good example of VSA’s flexibility and shows that if VSA doesn’t do something natively then you can write an Agent Procedure to add the functionality.

This is based on the Windows Reliability data collected over the lifetime of a system.
It is a weighted measurement calculated from the number of failures seen over a rolling
historical period. The index value is calculated over the preceding 28 days, although the results for considerably more days can be seen in the Reliability Monitor itself. Reliability events in the System Stability Monitor will describe the specific failures for you to investigate further.

Instructions :

There is documentation included in the package but below is an outline.

This will require one custom field named System Stability Index (Average) of type String. Once
the Custom Fields are created, you can import the Agent Procedure.

 You can create Custom Fields in the Audit module by going

 VSA > Audit > View Individual Data > Machine

Next, import the Agent Procedure by going to:

 VSA > Agent Procedures > Schedule / Create

 Finally, click on Import Folder/Procedure and upload
the extracted XML file provided in the zip file (you will need to extract it
from the zip file).

After it has been imported, edit the Agent Procedure and make sure the
custom fields are filled in for every ‘updateSystemInfo’ command in the Agent
Procedure. If the first set of commands have it properly filled in, then the
rest of the code should also be mapped properly.


  • Sidney Sahdala
    Sidney Sahdala Miami, FLMember, Kaseya Certified CHOCOLATE MILK
    edited August 2019

    This Agent Procedure together with the Detect HDD or SSD plus SMART Health Agent Procedure ( will be very helpful in judging the reliability of a system.

  • Brian
    Brian Member
    edited November 2019

    Does anyone know how to fix this error? Cannot convert argument "decimals", with value: "18003693570451", for "Round" to type "System.Int32". Any tips and assistance is appreciated. 

  • Brian
    Brian Member
    edited November 2019

    I managed to fix the issue. Dependent on the localisation sometimes separating decimals with a comma (,) does not work instead you can change the comma to a dot (.) in the #global:cmdresults#  if you add this command; '#global:psresult#' -replace ',','.' on line 13 and 18.

  • Thomas Brewster
    edited April 2020

    Thanks for the good work on this procedure.

    For anyone else who is running PowerShell in constrained mode, you can make a change to have procedure still output a rounded number without using the math function.

    Change line: 
    [math]::round("#global:psresult#", 2)
    To be:
    '{0:N2}' -f #global:psresult#

  • Gertjan
    Gertjan Member
    edited October 2020

    Great! Thanks Thomas Brewster!

  • Nick Cheras
    Nick Cheras Member
    edited March 16

    Hi all, i'm getting the "Cannot convert argument "decimals", with value: "18003693570451", for "Round" to type "System.Int32"." error and am having trouble understanding where / how to add the "'#global:psresult#' -replace ',','.' on line 13 and 18." any help would be appreciated as this is working on some workstations and not on others