Hello everyone. I'm looking for some ideas. I have various altiris clients that are not posting inventory. When I run the uninstall of the inventory agent then reinstall, it runs and posts the inventory successfully. My dilemma is this. I would like keep a policy running that uninstalls the inventory agent if the client does not meet specific criteria (such as hasn't posted inventory in X days). I have the query/filter ready, but I'm stuck in an uninstall/reinstall (of the inventory agent) cycle. What can I include in the inventory agent uninstall query/filter that would remove the device FROM the filter after the uninstall completes? End solution would be to avoid the uninstall/reinstall/uninstall/reinstall (etc.) cycle I am currently in with my test device.
Open to ideas.
You could use custom inventory / agentless inventory for a specific registry key - only when this key is present - uninstall inventory
and remove it during uninstall
Thanks cheldt. I did think about that. We have done custom inventories for many things. Are you aware of reg key that is updated when inventory runs successfully? What I'm really after is a table that is updated when the inventory agent is uninstalled/installed that can be used to then exclude the computer from the uninstall filter once it is uninstalled. OR...if i can simply get the inventory to run immediately after the inventory agent is installed...this might alleviate this issue. Is there a way to force an inventory immediately after the inventory agent is installed?
Here is my query for agents that need to have the agent unintalled/reinstalled.
select * --vc.guid
from vcomputer vc
join Inv_Inventory_Results ir on ir._ResourceGuid = vc.Guid
join Inv_AeX_AC_Identification id on id._ResourceGuid = vc.Guid
join Inv_AeX_AC_Client_Agent ca on ca._ResourceGuid = vc.Guid
DATEDIFF(dd,ir.[collection time], getdate()) > '14'
and datediff(dd,id.[Client Date], getdate()) < '14'
IsManaged = '1'
and (ir.Agent = 'inventory agent'
and ca.[Agent Name] like '%Altiris Inventory Agent%')
and datediff(dd,id.[Client Date], getdate()) < '2'
You can find your Inventory Policies in REG - HKEY_LOCAL_MACHINE\SOFTWARE\Altiris\Altiris Agent\SMFAgent\Delivery\Policies
with lastReportedDate as REG_BINARY
Thanks, however none of the subkey values contain our inventory policies. Any other ideas?
I understand your drive to automate this, but if this is such a pain then ideally you should find the root cause of the inventory failure.
Keeping this process semi-manual is key as the human intervention stops these issues from getting out of hand. If you fully automate resolutions to problems you don't understand you could come to regret it.
What we do here is,
I know this doesn't tackle the issue you are seeing directly, but my instinct on reading your issue is caution.
Thanks for your advice. I have backed down on uninstalling/reinstalling the agent for now but still face the same challenges. If you don't mind me asking, what types of resolution tasks do you have/run? Have you found a good way to rip-and-replace the Altiris Agent? That is one of our biggest challenges...unhealthy agents. How to know which are unhealthy (I have multiple queries, but haven't felt overly comfortable with any.) and remediating them seems to be a daily challenge. I am also interested in how you go about emailing the logs from the client machine. These ideas seem like a good way to move forward. Again...thanks for your input.
As I wrote my response I was wincing as I thought you might ask...
Agent Health is pesky as you need to balance up multiple factors and it's a bit of a dark art. But the logs are a good first start. Problem is I'm shortly off to Africa for a charity mountain climb. I'll try to get something together before I leave Monday.
LOL. Thanks Ian. To Africa for a charity mountain climb? Sounds like my kind of event. I wish you safe travels and a good time. It sounds amazing! Thanks for your time and feedback!