System stability

Windows System Stability Index

Find out the stability of a Windows box


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.

  • Name: Sidney Sahdala
  • Company: Kaseya
  • Website:
  • Contact Developer
  • Summary
  • Windows System Stability Index
  • Version: 1.0
  • Initially Released August 20th, 2019
  • Reviews
    Gravatar for Thomas Brewster
    by Thomas Brewster on March 16th, 2021

    Great procedure to enable proactive endpoint management. E.g. looking for systems with low stability ratings and figure out what is going on before users have to reach out.

    Gravatar for Oscar Romero
    by Oscar Romero on August 9th, 2020

    Very under-rated procedure. This gives a decent overall health score of Windows Operating System to understand it's health and overall user experience. This article helped understand the calculation:,over%20a%20rolling%20historical%20period.&text=Recent%20failures%20are%20weighted%20more,reliability%20issue%20has%20been%20resolved.

    Gravatar for Sidney Sahdala
    Sidney Sahdala over 1 year ago

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

    Gravatar for Brian
    Brian over 1 year ago

    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. 

    Gravatar for Brian
    Brian over 1 year ago

    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.

    Gravatar for Thomas Brewster
    Thomas Brewster 12 months ago

    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#

    Gravatar for Gertjan
    Gertjan 6 months ago

    Great! Thanks Thomas Brewster!

    Gravatar for Nick Cheras
    Nick Cheras 29 days ago

    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