The customer is in the process of upgrading his client machines/servers to the newest version of the Symantec Management Agent (or Altiris Agent). He also has enabled the upgrade policies for the currently installed Solutions pug-ins ("How to display all the Agent plug-in policies in one single place" (KB 251779)).
He is able to use the default report under Reports > Notification Server Management > Agent > Agent Version to give him an idea of what client machines/servers haven't upgraded yet, but he would like to have a way to do the same but for Solutions plug-ins (like Inventory Solution).
ITMS 8.6, 8.7
Most people are familiar in how to use the "Agent Health" to verify what Plug-ins are up-to-date for a specific machine:
However, when you want to do the same for multiple machines, it is not as friendly as the customer would like.
OPTION 1:
The attached custom report, Agents with Outdated Plug-in Versions.xml, should provide the requested information in one single page. Just import it under the desired folder under the "Reports" menu on your SMP Console.
OPTION 2:
You can use a query to create your own custom report, like the ones below, to find all the machines that doesn't have a specific plug-in up-to-date:
/*Looking at specific plug-ins that are not at the correct version*/
select
vc.Name,
av.[Agent Name],
av.[Current Version],
av.[Expected Version],
case when av.IsUpToDate = 1 then 'Current' else 'Not Current' end as 'Upgrade Status',
vc.[OS Name]
from vAC_AgentVersions av
join vcomputer vc on vc.guid = av._ResourceGuid
where av.IsUpToDate != 1
av.[agent name] = '<NAME OF PLUG-IN>'
order by vc.name asc
/*Check for Agents with the SMA up to date (8.6) but with old plug-ins */select c.name, c.Guid, count (distinct v2.[Agent Name]) 'Out of Date agents'
from vAC_AgentVersions v1
join vAC_AgentVersions v2 on v2._ResourceGuid = v1._ResourceGuid
join vRM_Computer_Item c on c.guid = v1._ResourceGuid
where (v1.[Agent Name] = 'Altiris Agent'
and v1.[Current Version] like '8.6%')
and (v2.[Agent Name] <> 'Altiris Agent' and v2.[Current Version] < v2.[Expected Version])
group by c.name, c.Guid
order by c.name
/*Return current Agent and Plug-ins versions and health*/
SELECT DISTINCT
[vri1_Computer].[Guid] AS [GUID],
[vri1_Computer].[Name] AS [Name],
[ajs4_vAC_AgentHealth].[Communication Health] AS [Communication Health],
[ajs4_vAC_AgentHealth].[Last Agent Communication] AS [Last Agent Communication],
[ajs5_vAC_AgentVersions].[Current Version] AS [Current Version],
[ajs5_vAC_AgentVersions].[Agent Name] AS [Agent Name]
FROM
[vRM_Computer_Item] AS [vri1_Computer]
LEFT OUTER JOIN ([ScopeMembership] AS [ajs2_ScopeMembership]
LEFT OUTER JOIN [FolderBaseFolder] AS [ajs3_FolderBaseFolder]
ON ([ajs2_ScopeMembership].[ScopeCollectionGuid] = [ajs3_FolderBaseFolder].[FolderGuid]))
ON ([vri1_Computer].[Guid] = [ajs2_ScopeMembership].[ResourceGuid])
LEFT OUTER JOIN [vAC_AgentHealth] AS [ajs4_vAC_AgentHealth]
ON ([vri1_Computer].[Guid] = [ajs4_vAC_AgentHealth].[ResourceGuid])
LEFT OUTER JOIN [vAC_AgentVersions] AS [ajs5_vAC_AgentVersions]
ON ([vri1_Computer].[Guid] = [ajs5_vAC_AgentVersions].[_ResourceGuid])
order by [vri1_Computer].[Name], [ajs5_vAC_AgentVersions].[Current Version]