Video Screencast Help

How to determine active computers from cmdb?

Created: 21 Nov 2012 • Updated: 21 Nov 2012 | 5 comments
This issue has been solved. See solution.

In Altiris 6.9 we used to run scripts against active computers. There was a field in the dbo.computer table called "icon" that recorded the state of the computer. if the icon field had a non-zero value then it was considered "active"  or online in the deployment console. This was very handy, not just for running scripts, but for simply filtering active systems in the console and knowing whether a system was logged on/off before performing remoting activities.

7.1 SP2 seems to have done away with this functionality. OR, we are just looking in the wrong places. Can anyone help? I really want a table that will show whether a system is currently active or not.

Comments 5 CommentsJump to latest comment

Mistral's picture

As the Platform is mainly policy based, the client is not connected at all (beside polling).

Anyway the task based subsystem offers some similar functionality - see:

https://www-secure.symantec.com/connect/forums/act...

 

andykn101's picture

It's very different. One of the things that made DS 6.n less suitable for WAN environments was it's agent's always on type connection.

7.n uses the agent to make decisions, so you make your policy to only run if no user is logged on, for example. And it can then run on powered off systems the next time they are powered on, or you can dictate that the command will only run at a specified time.

Authorised Symantec Consultant (ASC) with Endpoint Management Limited, an Authorised Symantec Delivery Provider based in the UK.

Connect Etiquette: Please "Mark as Solution" posts that fix your problem.

shafiq1's picture

@Mistral,

Thanks for the link. The jobs and tasks portal is a step towards what i'm looking for. I just need to know where in the database is the "active" field for each host. The fact that I can now see the realtime number of active hosts tells me the actual values are stored somewhere in the db.

@andykn101

I understand your points. But for the task I am working on, I am using Altiris as an external datasource. Even though I know the active state of systems could change any moment, I want to pull a point in time recordset of active hosts from altiris and then do something with them for a non-altiris purpose.

shafiq1's picture

I think I just found the table. dbo.inv_client_task_resources appears to be the table storing the active state values. the number of records with a non-zero "isActive" field value matches the number of Active systems  reported in the jobs and tasks portal page.

I still need to do a few other things before I mark this as the solution though.

shafiq1's picture

I looked at dbo.inv_client_task_resources and dbo.inv_aex_ac_client_connectivity tables. The client task resources table seems to be most accurate in reporting the state of the agent. It reports the agent state relative to the task server it is connected to. if the task agent is installed and in a state to receive tasks, then the system is considered "active" or online.

If anyone finds a better method please share, otherwise I am going with this as a solution.

For anyone on 7.1 SP2 and needing to get a list of active/online computers, you can use this query.

SELECT Distinct
[db_name].[dbo].[vcomputer].[Guid]
,[db_name].[dbo].[vcomputer].[Name]
,[db_name].[dbo].[vComputer].[IP Address]
  
FROM [db_name].[dbo].[vcomputer]
INNER JOIN [db_name].[dbo].[Inv_Client_Task_Resources]
ON [db_name].[dbo].[vcomputer].[Guid] = [db_name].[dbo].[Inv_Client_Task_Resources].[_ResourceGuid]
WHERE [db_name].[dbo].[Inv_Client_Task_Resources].[IsActive] <> 0
;

SOLUTION