Customer noticed that inventory data was not updated on some endpoints. After further investigation it was determined that there is an error on the agent UI, in task history, return code -2147221005.
Further researching the issue showed a raw message on the task as follows:
CAtrsException exception, error: Failed to execute task, COM object 'InvAgent' is not found, make sure the corresponding plug-in or task handler module is installed and registered, OS error: Invalid class string (0x800401F3), at line 545
Inventory Solution 8.x
In this circumstance, the DLL for the inventory solution agent on the endpoint became unregistered.
The first step in resolving the issue is to try to re-register the DLL for the agent. You can do this in the console using a real-time system manager, assuming the default WMI connection to the endpoint is not blocked.
Find the computer in question under Manage > Computers and right-click it. Choose Resource Manager.
With the resource manager opened, click on View > Real Time. This will take a minute to open and you should see a message stating a status of OK for WMI:
Next, navigate to Real-Time System Manager > Software > Symantec Management Agent > Registered Plug-Ins. Once opened, click on the register all plug-ins button.
Now navigate to Real-Time System Manager > Management Operations > Manage Services. Highlight the Symantec Management Agent Service and choose Restart.
Finally, try running inventory again against the target computer via a gather inventory task, or other method of your choosing.
If you are not able to use a real-time system manager, you can accomplish the same using any other method available to you, such as scripting. The following command would register the inventory solution agent DLL file: regsvr32 C:\Program Files\Altiris\Altiris Agent\Agents\Inventory Agent\InvAgent.dll
If registering the DLL file does not work, the other option will be to uninstall the inventory solution agent plug-in and install it back again. This can all be done directly from the console and might be a simpler approach.
If you would like to see how many computers are in this state, you can run the attached SQL script in SQL Management Studio, or create a report using the raw SQL in the attached file.