Software Inventory

 < Day Day Up > 



SMS 2003 offers greatly enhanced software inventory capabilities. Like its hardware counterpart, the Software Inventory Client Agent (Inventory Agent on the Advanced Client) runs automatically on the client according to a schedule you create and collects information according to options you select. For the purposes of this discussion, I’ll refer to the client agent for both client types as Software Inventory Client Agent, and I’ll make distinctions between the behaviors of each when necessary. Unlike the Hardware Inventory Client Agent, the Software Inventory Client Agent scans local drives rather than querying the WMI for its inventory data.

The Software Inventory Client Agent collects application information that includes the following data:

  • Filename, version, and size

  • Manufacturer name

  • Product name, version, and language

  • Date and time of file creation (presumably at installation)

The Software Inventory Client Agent can also collect copies of specific files.

As with hardware inventory, once software inventory has been collected at the Legacy Client, it’s passed on to the CAP. Inventory collected at the Advanced Client is, of course, passed on to the management point. The CAP or management point, in turn, forwards the information to the site server. Software inventory is ultimately stored in the SMS database, so it’s again important for us to draw a distinction between primary and secondary site servers. Recall that the main difference between a primary and a secondary site server is that a primary site server maintains access to an SQL Server database.

As with hardware inventory, you can enable the Software Inventory Client Agent for the clients on a secondary site. As a matter of fact, the configuration settings for the Software Inventory Client Agent can even be different from the secondary site’s parent site. When the CAP passes software inventory to the secondary site server, the secondary site server forwards the information to its parent primary site, where it can be added to the SMS database. The Advanced Client will pass its inventory to the management point of the parent site, unless a proxy management point has been installed at the secondary site.

Enabling Software Inventory

To begin, let’s get the Software Inventory Client Agent enabled and installed on our SMS clients. Then we’ll explore how inventory is actually collected. To enable the Software Inventory Agent through the SMS Administrator Console, follow these steps:

  1. Under Site Settings, navigate to the Client Agents folder and expand it.

  2. Right-click Software Inventory Client Agent and choose Properties from the context menu to display the Software Inventory Client Agent Properties dialog box, shown in Figure 9.17.

    click to expand
    Figure 9.17: The Software Inventory Client Agent Properties dialog box.

  3. Select the Enable Software Inventory On Clients check box.

  4. Notice that the default inventory collection schedule on the client will be once a week. You can specify from 1 to 23 hours, 1 to 31 days, or 1 to 4 weeks under Simple Schedule. Or you can select Full Schedule and then click the Schedule button to display the Schedule dialog box and designate a more specific start time and recurrence pattern, and then choose OK.

  5. Select the Inventory Collection tab, shown in Figure 9.18.

    click to expand
    Figure 9.18: The Software Inventory Client Agent Properties dialog box Inventory Collection tab.

  6. Notice that the default files that the agent will scan for are those with an .EXE extension. You can click the New button (the yellow star) to display the Inventoried File Properties dialog box shown in Figure 9.19. Here you can identify the file or files to inventory using wildcards and specific paths and choose whether to exclude encrypted or compressed files from the inventory scan.

    click to expand
    Figure 9.19: The Inventoried File Properties dialog box.

  7. On the Inventory Collection tab, check the appropriate options under Reporting Detail. These two options can tailor how data is collected and represented to you:

    • File Details—Reports information that the agent can determine for all files that match the criteria, including “unknown” files. Unknown files include those for which the header information contains no product information—for example, some game files. File details include the file name, location, and size.

    • Product Details—Reports information that the agent can read from the file header of all files that match the criteria. Product details include company name, product name, version, and language.

    You must enable at least one of the two options to enable SMS to report information on inventoried files. By default, both options are enabled.

  8. Select the File Collection tab, shown in Figure 9.20, if you want to also collect a copy of specific files from each client. The Maximum Traffic Per Client value displayed at the bottom of this tab is informational and represents the estimated amount of traffic that the specified files might generate.

    click to expand
    Figure 9.20: The Software Inventory Client Agent Properties dialog box File Collection tab.

  9. To add the name of a specific file, click the New button to display the Collected File Properties dialog box, similar to the Inventoried Files dialog box. Here you can identify the file or files to inventory using wildcards and specific paths and choose whether to exclude encrypted or compressed files from the inventory scan and the maximum file size. Click OK to return to the File Collection tab.

  10. Select the Inventory Names tab, shown in Figure 9.21, to standardize the names of the company or product that are displayed when you view software inventory information. Sometimes, as companies update their software applications or create new versions, the developers include variations on the company’s or the product’s name in the header information included in the program executable. Of course, when you view the software inventory, the products will be sorted and displayed according to each variation of the company or product name. This can make it difficult for you to find all versions of the product.

    click to expand
    Figure 9.21: The Software Inventory Client Agent Properties dialog box Inventory Names tab.

    This example lists several variations of the company name for Microsoft—Microsoft Corp., Microsoft Corporation, Microsoft, and so on—that will be displayed as Microsoft Corporation when viewing software inventory information.

  11. Select which name type you want to standardize; your choices are Product and Manufacturer. In the Display Name section, click New to display the Display Name Properties dialog box. Enter the name you want to be displayed on the product information screen and then click OK to return to the Inventory Names tab. In the Inventoried Names section, click New to display the Inventoried Name Properties dialog box. Enter the names that have been inventoried by the Software Inventory Client Agent that you want standardized to the display name you entered in the Display Name section and then click OK to return to the Inventory Names tab.

  12. Click OK to begin the site update process.

Collected files are stored on the site server in the SMS\Inboxes\Sinv.box\FileCol folder. If the file changes at all on the client, the Software Inventory Client Agent will collect it again at the next cycle. By default, SMS will retain the last five copies of the file that were collected. Think about that. If you collected 1 MB per file and 5 collected copies per client, for 1000 clients you would require 5 GB of storage space just for your collected files. Not pretty! Obviously, you wouldn’t use this as an alternative backup process. However, you can use it to look for files that should not be on a client, like a game executable. The number of such collected files ought to be significantly smaller. All collected files are kept in the database for 90 days before they’re aged out.

Note 

To modify the number of copies of collected files maintained at the site server, you need to modify the following registry entry: HKEY_LOCAL_MACHINE\Software\Microsoft\SMS\Components\ SMS_Software_Inventory_Processor. Look for the value Maximum Collected Files and change it as desired.

When you enable the Software Inventory Client Agent, you’re making a change to the site properties, and the site’s site control file (Sitectrl.ct0) will be updated as a result (as described in Chapter 3). The following three files are written to the SMS\Inboxes\Clicfg.src directory on the site server:

  • Sinv.cfg Software Inventory Client Agent configuration settings

  • Sinv.nal CAPs from which the agent can be installed

  • Sinv.pkg Instructions for installing the agent on the client for various platforms

In the same directory, the client offer file is also updated to indicate that the Software Inventory Client Agent needs to be installed on all SMS clients for the site. The offer file is Cli_xxx.ofr, where xxx indicates the client operating system platform.

The offer file is copied to the CAP for use by Legacy Clients, and a software inventory rules policy is created and placed on the management point for use by Advanced Clients.

Thirty minutes after the Software Inventory Client Agent is started, the first complete inventory is collected from the client as specified by the inventory and collected files options you specified.

Client Requirements and Inventory Frequency

The client computer will require about 200 KB for the Software Inventory Client Agent support files. The size of the software inventory file that’s generated will depend on what you told the agent to scan for, how much data it found, and whether you chose to collect files. Software inventory history is maintained on each client. The initial inventory is also passed to the CAP or management point and then to the site server. Like hardware inventory, subsequent software inventory cycles generally report only changes to the inventory. Therefore, you can expect a corresponding amount of network traffic associated with the installation (one time), with the first complete inventory (one time), and with subsequent delta inventories (according to your schedule).

As with hardware inventory, the schedule you choose should reflect the frequency with which you need to collect or update your clients’ inventory record. If your clients have fairly standard software installations and don’t make or aren’t allowed to make substantial changes on their own, you could collect inventory less frequently—say, once a week or even once a month.

If your client computers keep changing in terms of software installations, updates, and uninstalls, you might need to report changes to the inventory more frequently—perhaps once a day or once every 12 hours. The more frequent the inventory is collected, the more potential network traffic will be generated. Like the Hardware Inventory Client Agent, the Software Inventory Client Agent will continue to run and report inventory regardless of whether a user is actually logged onto the client.

Tip 

You can force the Software Inventory Client Agent to run through Systems Management in the Control Panel. Double-click Systems Management to display the Properties dialog box and then select the Components tab. On Legacy Clients, select the Software Inventory Agent entry in the Components list and then click Start Component. On Advanced Clients, select the Software Inventory Cycle in the Actions tab and then click Initiate Action.

Software Inventory Collection Process Flow

The first time inventory collection runs—30 minutes after installation of the Software Inventory Client Agent—a complete software inventory is collected and its history is maintained on the client. Each subsequent inventory generates a delta file containing the details for only those inventory properties that have changed since the last interval. When a complete inventory file has been generated, the agent writes a temporary file with an .SIC (software inventory complete) extension to the %Windir%\MS\SMS\Clicomp\Sinv folder on the client until it’s moved to the CAP. For subsequent inventory cycles, this delta file will have an .SID (software inventory delta) extension. On the Advanced Client, the temporary file is written to the %Windir%\System32\Ccm\Inventory\Temp folder until it’s moved to the management point.

Note 

Once the inventory file is moved to the CAP or management point, the temporary files are deleted.

Inbox Manager Assistant running on the CAP, and the SMS Management Point File Dispatch Manager on the management point, in turn moves the file to Software Inventory Processor’s inbox (the SMS\Inboxes\Sinv.box folder) on the site server. If the site server is a primary site server, Software Inventory Processor writes the data to the SMS database on the server running SQL. If the file is deemed corrupt, it’s written to the SMS\Inboxes\Sinv.box\Badsinv folder. If a parent site exists, or if the site receiving the software inventory is a secondary site, Software Inventory Processor forwards the MIF file to Replication Manager, which forwards the file to the Software Inventory Processor inbox on the parent site server. Collected files are removed from the inventory file and written to the SMS\Inboxes\Sinv.box\FileCol\ID folder. Files collected from SMS clients are stored in a separate ID folder for each client. The ID folder name represents the resource ID assigned to the client when the client was discovered.

Tip 

You can find each client’s resource ID by viewing its discovery data in the Collections folder in the SMS Administrator Console or by creating a query to display the resource IDs for all the clients.

Software Resynchronization

Occasionally, Software Inventory Processor might determine that the inventory data it receives is somehow “bad” or out of sync with the SMS database. In these circumstances, a resync will be triggered automatically. The following events can trigger a software inventory resync:

  • The software inventory collection properties have changed since the last inventory (Legacy Clients only).

  • The inventory delta contains updates for a database record that doesn’t exist.

  • The inventory delta itself contains bad or corrupted data.

  • The client has attached to a new SMS site.

  • The client has upgraded from SMS 2.0 to SMS 2003.

When one of these events triggers a resync, the rest of the process proceeds much like the hardware resynchronization process we discussed earlier. The difference, of course, is that the Software Inventory Processor on the site server creates the resync request.

Status Messages and Log Files for Software Inventory

As we’ve seen, status messages and log files are generated throughout the inventory installation and collection process. As we did for hardware inventory, let’s begin here with the log files. As you know, client logs are enabled by default and are written automatically to the %Windir%\MS\SMS\Logs folder on Legacy Clients and the %Windir%\System32\Ccm\Logs folder on Advanced Clients. As you monitor the installation of the Software Inventory Client Agent on Legacy Clients, look for entries related to the detection of the Software Inventory Client Agent offer in the Ccim32.log file. Monitor the SMSapm32.log file for entries that show when the Advertised Programs Monitor scheduled the installation of the Software Inventory Client Agent on the client. Insinv32.log tracks the agent installation.

To track the generation of software inventory files on Legacy Clients, monitor the Sinv32.log. Cqmgr32.log tracks the copying of inventory and status messages to the CAP. Monitoring the log files for Software Inventory Processor (Sinvproc.log), Inbox Manager (Inboxmgr.log), and Inbox Manager Assistant (Inboxast.log) can help you determine the role of these files in the software inventory collection process.

On the Advanced Client, monitor the Policyagent.log file for updates received by the client, which would include enabling Inventory Agent on the client and configuring hardware inventory collection. Monitor the Inventoryagent.log file, a portion of which was shown previously in Figure 9.6, for collection of inventory data.

As we did for hardware inventory, you can view status messages regarding inventory activity on a client by running a status message query through the SMS Administrator Console using the process we described previously.A message with ID 10600 indicates that inventory has been successfully collected; 10605 indicates that a file has been collected; 10204 from CCIM reports that the Software Inventory Client Agent was successfully installed.

On the site server, monitor the status messages of Software Inventory Processor. Look for messages in the 37xx range, which identify successful processing of MIF files. Also monitor status messages for Replication Manager for forwarding of MIF files to a parent site.

As with hardware inventory, you can also use the SMS Report Viewer to view status information related to the inventory process

Viewing Software Inventory

You can view software inventory through the SMS Administrator Console in much the same way as you view hardware inventory. The procedure is described here:

  1. Navigate to the Collections folder and expand it.

  2. Select the collection that contains the client or clients whose inventory you want to view, right-click the client entry, choose All Tasks from the context menu, and then choose Start Resource Explorer to display the Resource Explorer window, shown in Figure 9.22.

    click to expand
    Figure 9.22: The Resource Explorer window.

  3. Expand Software and select Collected Files to view a list of files collected for the client.

  4. Select File Details to see a list of inventoried files and their properties, such as file name, size, and location, as shown in Figure 9.22.

    Tip 

    Properties are listed horizontally across the viewing screen, requiring you to scroll across to view all the properties. If you right-click an object and choose Properties from the context menu, you can view the same properties listed vertically in a Properties window.

  5. Select Last Software Scan to determine the last time the agent ran.

  6. Expand Product Details to view the product data collected by the Software Inventory Client Agent, as shown in Figure 9.23. Expand each entry to see more specific version information. As you select each version, you can view the filename (and other attributes) associated with this product, assuming that you enabled the File Details option for the agent.

    click to expand
    Figure 9.23: The Resource Explorer window, with Product Details expanded and a product selected.



 < Day Day Up > 



Microsoft Systems Management Server 2003 Administrator's Companion
Microsoft Systems Management Server 2003 Administrators Companion (Pro-Administrators Companion)
ISBN: 0735618887
EAN: 2147483647
Year: 2006
Pages: 178

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net