Reporting all installed agents and versions per managed computer
search cancel

Reporting all installed agents and versions per managed computer

book

Article ID: 181447

calendar_today

Updated On:

Products

IT Management Suite

Issue/Introduction

You want to have a better idea of what agent version and plug-ins versions are installed on your client machines so you can make sure you are up-to-date with versions.

How do I determine all installed agents and versions for managed computers on the SMP Server?

Environment

ITMS 8.x

Resolution

With recent ITMS releases, you have access to this type of information in a easier way.

Option 1:
For example, if you want to use a default report that shows such information, please refer to (under Reports > Notification Server Management > Agents > Agent and Plug-ins Actual and Expected Versions):

  • Symantec Management Agent and Plug-ins version Health Summary
    Helps identify computers on which the version of the Symantec Management Agent is outdated.
  • The Symantec Management Agent – Actual and Expected Versions
    Displays the actual version of the Symantec Management Agent installed on each computer, as well as the expected version of the agent based on the version of the Notification Server to which it connects.
  • Symantec Management Agent Plug-ins – Actual and Expected Versions
    Helps identify situations in which the version of a plug-in installed on a computer is not consistent with the version of the Symantec Management Agent installed on that computer


Option 2:
or you could use our default Agent Health Summary View Flipbook


Option 3:

Some useful reports that can help you to identify what client machines needs some attention as far as versioning:

"Create a report to see what clients are not up-to-date with the plug-ins latest version"  (KB 274349 )
"Report that shows what plug-ins need to be upgraded" (KB 271660)
"Where can I check the agent upgrade status in the Symantec Management Console?" (KB 264342)
"How to display all the Agent plug-in policies in one single place" (KB 251779)


Option 4:
Alternately, you could create a report or view using the SQL included below:

-- Begin SQL

IF EXISTS(SELECT name FROM dbo.sysobjects WHERE name = N'_ReportTempAgents' AND xtype='U')
 DROP TABLE _ReportTempAgents


create table _ReportTempAgents ([Computer Name] varchar(64) PRIMARY KEY ([Computer Name]))
declare @@column varchar(50)

declare rmcursor1 cursor for
      SELECT DISTINCT [Agent Name]
      FROM Inv_AeX_AC_Client_Agent
      ORDER BY [Agent Name]

open rmcursor1
fetch next from rmcursor1 into @@column
while (@@fetch_status = 0) begin
      -- Adding in extra columns for the agent names
      execute('ALTER TABLE _ReportTempAgents ADD [' + @@column + '] varchar(32)')
      fetch next from rmcursor1 into @@column
end
close rmcursor1
deallocate rmcursor1

-- Inserting key computer name

insert _ReportTempAgents([Computer Name])
      SELECT DISTINCT vcomputer.[Name]
      from vcomputer where vcomputer.ismanaged = 1
      go

declare @@agent     nvarchar(50)
declare @@agentname nvarchar(100)
declare @@aversion  nvarchar(32)
declare @@cname     nvarchar(50)
declare @@command   nvarchar(400)
declare @@ninst     nvarchar(13)

declare rmcursor cursor for
      select distinct [Computer Name]
from _ReportTempAgents

open rmcursor
fetch next from rmcursor into @@cname
while (@@fetch_status = 0) begin
      declare rmcursor2 cursor for
            select distinct ca.[Agent Name]
            from Inv_AeX_AC_Client_Agent ca
            join vcomputer vc on ca.[_resourceguid] = vc.[GUID]
            where vc.[name] = @@cname
            and ca.[Product Version] IS NOT NULL

      open rmcursor2
      fetch next from rmcursor2 into @@agent
      while (@@fetch_status = 0) begin
            set @@agentname = @@agent
            set @@aversion = (
                        select top 1 [Product Version]
                        from vcomputer vc
                        join Inv_AeX_AC_Client_Agent on vc.[GUID] = Inv_AeX_AC_Client_Agent.[_ResourceGUID]
                        where vc.[name] like @@cname and [Agent Name] like @@agent)
            set @@command = 'Update dbo._ReportTempAgents SET [' + @@agentname + '] = ' +
                                    '''' + @@aversion + '''' + ' where [computer name] like ''' + @@cname + ''''
            -- Update the version to its agant name using the computer name as a key
            execute (@@command)
            fetch next from rmcursor2 into @@agent
      end

      close rmcursor2
      deallocate rmcursor2
      fetch next from rmcursor into @@cname
end

close rmcursor
deallocate rmcursor

select * from _ReportTempAgents

drop table _ReportTempAgents

--END SQL

Additional Information

"Best Practice: How to remediate systems where an Agent Plugin is not upgrading on some systems" (KB 240611)