截屏视频帮助

How to determine active computers from cmdb?

创建时间: 21 11 月 2012 • Updated: 21 11 月 2012 | 5 条评论
此问题已解决。 请查看解决方案。

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.

评论 条评论跳转至最新评论

Mistral 的图片

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 的图片

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 的图片

@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 的图片

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 的图片

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
;

解决方案