Here is just a little hint for everybody that wants to know how many upgraded Windows installations are floating around the network. Especially Windows 10 installations may be upgraded "in place" to a newer build version and machines won't receive a clean install every time a new Windows 10 build (or "feature update") is released.

UPDATE December 2019: Here is a blog post with a more advanced approach. posted a nice article about that and I turned it to a custom inventory field in my KACE K1000/SMA:

  1. Go to your software inventory and click the "Action" button and hit the "New" entry
  2. Type a name for the inventory rule and be sure to select at least every Windows 10 OS build in the "Supported Operating Systems" section. You may enable every Windows version starting with Windows 7.
  3. In the "Custom Inventory Rule" field enter
  4. Save your new inventory rule and wait or force your machines to run a new inventory. You will find a value in the "Custom Inventory Fields" section under "Software", if the machine has been upgraded.
    The value shows the build number this Windows installation has been upgraded from the last time.
    If there is no value, the Windows installation was not upgraded with "in place upgrade".
You may now use your new field in KACE reports or in Smart Labels like this:
I used "contains ." (dot) to find every machine that has been upgraded, regardless of the source build number or Windows version.

If you are interested in a blog post about how to read the full build history from your machines, let me know.