The customer noticed that some client machines are changing the OS version. For example, from "Windows Server 2019" to "Unknown Windows" and then back to "Microsoft Server 2019".
This caused issues where filters or targets based on specific OS versions will not contain the right set of machines.
Is there a way to track such OS version changes?
ITMS 8.6+
Network Discovery, Connector Solution Import, and AD Import may cause overwriting of the current OS version.
We base this information from "Inv_Aex_AC_Identification" table. For example, the default "Windows Servers" uses a query like this:
SELECT cr.[Guid] AS [_ResourceGuid]FROM vComputerResource AS crJOIN Inv_AeX_AC_Identification AS id ON id._ResourceGuid = cr.[Guid]CROSS APPLY dbo.fnSysMask_IsWindowsServerAsTable(id.[OS System Mask], 18, 36, 0) tt -- Win, Server 2000-2022 (with Hyper-V)WHERE cr.IsManaged = 1
SELECT i.Name, cast (MAX (i.InventoryDate) as nvarchar(110)) as 'Change Date', cast (c.CreatedDate as nvarchar(110)) 'Created Date'FROM InvHIST_Aex_AC_Identification iJOIN vRM_Computer_Item c on c.Guid = i._ResourceGuidWHERE i._ResourceGuid IN (SELECT i2._ResourceGuid FROM Invhist_AeX_AC_Identification i2 WHERE i2.[OS Name] = 'Unknown windows') and i.InventoryDate > GETDATE ()-1 and c.CreatedDate < GETDATE () - 1GROUP BY i._ResourceGuid, i.Name, c.CreatedDateHAVING COUNT (DISTINCT i.[OS Name]) > 1