Login to participate
Endpoint Management & Virtualization ArticlesRSS

Running Inventory to Capture All Information, Including Details File Inventory, Using a Task Server Job

Joel Smith's picture

Out of the box Inventory Solution 7.0 could take up to a week to capture a true Full Inventory. Especially during proof of concepts, this delay could result in a poor showing when running Inventory Reports. In light of this I've created a process that will put all necessary steps in a sequenced job for Task Server. This will allow the target systems to have collected full inventory, including Details File Information, by the end of the Job's execution.

Introduction

I'll be providing the step-by-step walkthrough of how to set this up. This will allow those who are interested to understand the workings behind the scene. I'll include explanations and details that show why it may take so long to collect full inventory out of the box. Either way, follow the steps to create the Job that will automatically collect a full Inventory. If you're not interested in knowing the details and just want the job, it is attached to this article. Simply import the two tasks and jobs into into your Notification Server.

Current Implementation

This article raises the question: why does it take so long to capture full inventory details? When Inventory Solution 7.0 was designed, they wanted to create a data structure that not only followed the Common Information Model (CIM) standard, but allowed for more efficient storage of information. In previous versions of Inventory Software data usually equaled almost on average two-thirds of the total inventory size. In 7.0 the model has changed so that only the required file data is returned by all machines, namely the following items:

  • File Name
  • File Size
  • File Path

The rest of the information, primarily the header information for the files, is not captured in a standard Inventory scan. Detailed file Inventory is only run on a select number of systems, and the data is not stored by resource, but globally as a common data point. In other words if we have data on Office 2007 word.exe, only the above three items are stored per system that finds the file during the scan. Once detailed file inventory runs on the selected computers, the header information for that file will be stored in a common place. All systems will have keys to link their files to the detailed file inventory.

To illustrate how this works I've put together the following walk-through process:

  1. A Software Inventory (either as a full or Software delta) runs on target systems, returning full inventory but only partial software data.
  2. On the server a task labeled Detailed File Inventory Task runs using an algorithm to find the lowest common denominator of systems that represents the full set of files found during the software scan.
    1. For example if two systems contain all the files in the environment, those two systems will be targeted to run a Detailed File Inventory the next time they run Software Inventory.
  3. During the next Software Inventory the systems designated during the Detailed File Inventory Task will scan and capture all file data including header information.
  4. The additional file data will be sent to the server to be stored commonly.
  5. In reports, the common data will be joined with the individual file data all systems capture to provide a full view of the files on a system.

The reason this process takes so long stems from the time tables of the schedules out of the box. A full Inventory is scheduled to run on Monday at 6pm. A Detailed File Inventory Task runs Tuesdays at 12:30am. The next Software Inventory will then commence the following Monday at 6pm. In this situation you will not have full Inventory for at least a week.

Additional Software Discovery details, such as Add/Remove Programs or configured registry keys, will not be captured via Inventory Solution. This portion is controlled by the Software Management Framework as these items are used by software detection rules. See the section below labeled Software Discovery. By default this is set to be captured twice weekly at 2am, Sundays and Wednesdays.

Software Discovery

Unlike the 6.x versions of Inventory Solution, Inventory Solution 7.0 does not include Add/Remove Program details. For this, and for other software detection rules, the Software Management Framework is used. While this part of it cannot be added to the job, you can schedule it to run while you configure the rest of the job, thus you'll have the data when needed. Follow these steps to schedule the Software Discovery:

  1. In the Symantec Management Console browse under Settings > and click on All Settings.
  2. In the left-hand tree browse under Settings > Software > Software Catalog and Software Library Settings > and select Software Discovery.
  3. Click the Add Schedule button and select Scheduled Window.
  4. Set the Start time to 2 minutes out from the current system time.
  5. Click Save changes.

    NOTE: By default the target already includes all systems managed with the Software Management Framework Agent installed, so no additional items need be done.

  6. Done!

The Software Detection rules are configured per Software Resource in the Software Library. As you add Rules to your Software Resources in the Software Library, you'll want to run the Software Detection Task to ensure your systems have the updated information.

All Inventory Job

The following walkthrough takes you through the process of creating a Job that will run all the necessary Inventory items in sequence. By the end of the Job the Notification Server will contain full Inventory details for the target systems.

  1. In the Symantec Management Console browse down through Manage > and click on Jobs and Tasks.
  2. In the left-hand folder browse down through Jobs and Tasks > System Jobs and Tasks > Discovery and Inventory > Inventory.
  3. Either create a subfolder or choose the Inventory folder > right-click and choose New > Job or Task.
  4. In the resulting window, in the left-hand tree browse to the bottom and choose Server Job.
  5. Provide a name for the Job, for example: All Inventory Capture.
  6. Click under New > and click on Task as shown in this screenshot:

  7. You'll see the same Job/Task browse as before. In the left-hand tree select Inventory under the Discovery and Inventory folder.
  8. In the Name field provide a name, for example: All Inventory.
  9. Select the Inventory check-boxes you wish to capture. By default all the standard Inventory Solution data classes are checked. It is recommended to keep these checked unless there are specific data you do not want to capture.
  10. If you have Server Management Suite, or have added on the Inventory Pack for Servers, check the box next to Server Inventory data classes to include these in the capture.
  11. Click Advanced to bring up extended settings.
  12. The Drives, Folders, and Files settings can be important to capturing the details you wish to. For example, under the Files tab use the following process to add DLL files to the scan:
    1. Click on the Files tab.
    2. Click the Include rule button.
    3. The Where: fields should be filled out specifically for the Software rule you wish to include. Where: FileType > equals > DLL (typed in).
    4. Click Add Rule and choose AND.
    5. Use the following to restrict this to Windows computers: Where: Platform > equals > Windows. See this screenshot for an example:

    6. Click OK to save the new file rule.
  13. Click on the Run Options tab.
  14. Uncheck the box labeled: Only send inventory changes (deltas). This ensures that all Inventory is sent to the server.
  15. Typically the other settings need not be invoked, however review them and enable those options you wish to. Click OK to save the Advanced Settings.
  16. Click OK to add the task to the job.
  17. Click New > Task.
  18. From the left-hand tree look under Discovery and Inventory and choose Detailed File Inventory Task Type.
  19. Provide a name for the task, for example: Detailed File Inventory Capture.
  20. Click OK to add the Task.
  21. Click the Add Existing button.
  22. This time the Job or Task browser only shows those jobs and tasks that have been created.
  23. Browse in the left-hand tree under Tasks > Jobs and Tasks > System Jobs and Tasks > Discovery and Inventory > Inventory > and select All Inventory.

    NOTE: No settings should be changed as we've already configured this task in previous steps.

  24. Click OK to apply the Task. In the Job list you should see your Inventory Task listed twice, once before the Detailed File Inventory and once afterwards. The second run will include the full file details from those systems that were selected to return the data.
  25. Click OK to save the job.

Targets and Scheduling

Once you've created the job, it needs to be configured to know what target systems to run on and when. To do this, use the following steps:

  1. In the Symantec Management Console select the new job created in the previous steps.
  2. Click the New Schedule button.
  3. Choose either Now (for immediate push of the Job through Task Server), or choose a specific schedule you want this to execute on.
  4. Under the Input section click Add and select Target.
  5. By default the Target will include all systems. If you wish to exclude certain systems, use the Add Rule button to do so. Below is an example of how to exclude Windows 2003 systems from the scan:
    1. Click the Add rule button.
    2. In the first dropdown, leave it selected as exclude resources in.
    3. In the second dropdown leave the select as Filter.
    4. In the last field type windows 2003 and click the dropdown arrow. Select the Windows 2003 filter displayed. See this screenshot for an example:

    5. Click OK to save the Target.
  6. Set the Completion Requirements as needed. Depending on how your software scan is scheduled, it is advised to increase the Proceed to next task time (2 to 3 hours), and change the Fail and move on time to 4 to 5 hours.
  7. Click Schedule to save the settings and execute or schedule the job.
  8. Done!

Applying this new Job coupled with the expediting of the Software Discovery will enable Inventory Solution to capture the full Inventory details without having to wait for the default schedules to collect all the pieces in the right order.

Conclusion

Hopefully this has been both informative and helpful in understanding the full Inventory process. Generally this will only need to be run in new environments, so this is especially helpful for proof of concepts, demos, upgrades, new installs, or when a new database has been created.