Administering Inventory Collection

Archived content. No warranty is made as to technical accuracy. Content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
On This Page

Before You Begin
Lesson 1: Introduction to Inventory Collection
Lesson 2: Configuring Hardware and Software Inventory
Lesson 3: The Inventory Collection Process
Lesson 4: Using the Resource Explorer and Extending Inventory Collection
Chapter Summary

Before You Begin

The Systems Management Server inventory process puts into effect the collection and storage of client computer hardware and software inventory. Having this collected inventory data can help you to make wise hardware and software purchasing decisions.

You must complete all procedures in Chapter 2 as preparation for doing the procedures in this chapter. Do not log on to DOMAIN1 from Computer 2 before starting the exercises in this chapter.

Lesson 1: Introduction to Inventory Collection

Inventory collection begins when inventory client agents are enabled in the SMS Administrator console and ends when inventory data is stored in the site database. Once this data is collected, reports can be created and other features in the SMS Administrator console "come alive."

After this lesson, you will be able to

  • Describe the categories of data obtained through inventory collection.

  • Explain how inventory data can be used to support other SMS functions.

Estimated Completion Time: 20 minutes

Inventory Collection Overview

Inventory collection falls into two categories:

  • Hardware inventory collects data about hundreds of hardware properties of practically any installed client computer hardware, such as disk model, capacity, and free space; processor type and speed; firmware manufacturer and version; amount of RAM; and monitor type and resolution. Hardware collection is customizable, so if additional hardware inventory information is required, SMS can be configured to collect it.

  • Software inventory provides two inventory services: inventory collection and file collection. Inventory collection writes file statistics (such as file size, modification date, and manufacturer) to the site database. File collection places inventoried files in a directory on the site server and provides the administrator with access to the file through the SMS Administrator console's Resource Explorer snap-in.

SMS inventory collection behavior is highly configurable. By using the SMS Administrator console, you are not only able to specify what kind of information should be collected, you control how often inventory should run on the client computer. Hardware and software inventory collection is configured by selecting the Client Agent node in the SMS Administrator console, then accessing the properties of the Hardware Inventory Client Agent and the Software Inventory Client Agent. In Exercise 12 of Chapter 2 you enabled these agents. Once the inventory agents have been enabled, collection frequency can be configured. Additional configuration options are available for the Software Inventory Client Agent. Inventory client agent configuration is discussed in Lesson 2.

Note: Client agents are not installed unless the client computer is within the configured boundaries of the site, and a client installation method has been enabled.

Hardware inventory and software inventory are inventory collection functions that are supported by client agents; other than being inventory collection functions, they share little in common. In order to specify what software should be inventoried, you use the SMS Administrator console to add file types for inventory and file collection. On the other hand, in order to specify what hardware properties should be inventoried, you modify the SMS_DEF.MOF file or build custom MIF files. There will be more about this in Lesson 4, "Using the Resource Explorer and Extending Inventory Collection."

The Hardware Inventory Client Agents

SMS_DEF.MOF contains classes and properties of hardware that are defined by the DMTF. Classes are categories of hardware resources. Properties are the attributes of the classes. SMS_DEF.MOF is used by hardware inventory client components to determine what classes and properties should be gathered. There are more than 650 properties defined in SMS_DEF.MOF, and approximately 200 of these properties are enabled. SMS_DEF.MOF is stored on CAPs in the \CAP_*sitecode\*CLIFILES.BOX\HINV directory. A master copy of this file is stored on the site server in \smsdir\INBOXES\CLIFILES.SRC\HINV. Disabled properties in SMS_DEF.MOF can be enabled by editing the master copy. Editing SMS_DEF.MOF will be discussed in Lesson 4.

Both Windows 16-bit and Windows 32-bit client computers use the SMS_DEF.MOF file to determine what hardware inventory should be collected. However, the way the data is collected on these client computers differs. Windows 32-bit client computers use the CIM Object Manager (started by the Windows Management Service) to collect hardware inventory data from providers. Windows 16-bit client computers use the Hardware Inventory Client Agent to collect inventory data. On both client computer types, collection data is sent to the CAP by the Hardware Inventory Client Agent and added to the site server database by threads of the SMS Executive.

Only a subset of the data that is collected by the CIM Object Manager can be collected by the Windows 16-bit Hardware Inventory Client Agent. Further, most hardware data processing for Windows 16-bit client computers is done on the site server. On the other hand, most hardware data processing for Windows 32-bit client computers is completed on the client computer. So, for example, only changes in hardware configuration are sent to the CAP by the Windows 32-bit client agent, while all hardware data is sent to the CAP by the Windows 16-bit client agent, and the site server must then process the data to find changes in hardware inventory.

The Software Inventory Client Agent

The CIM Object Manager running on Windows 32-bit clients is not involved in the software inventory process. So software inventory collection is similar on Windows 16-bit and Windows 32-bit client computers. When the software inventory client agent runs, it attempts to collect the following information from files it has configured, through the SMS Administrator console, to inventory:

  • File name, size, description, and time of creation

  • Company and product name

  • Product version and language

Some software inventory information cannot be collected if the file doesn't contain the data sought by the inventory client agent. For example, if the file header does not include product version information, this data cannot be collected. Executable files, which are files with EXE or COM extensions, are most likely to contain file header information identifying the characteristics of the file. Therefore, software inventory provides the most information when these files types are read by the Software Inventory Client Agent. By default, once the Software Inventory Client Agent is enabled in the SMS Administrator console, it will inventory all files with EXE extensions. Files with COM extensions are not included because they are less common than files with EXE extensions. Any file or file type can be inventoried by adding the file name or file type to the Inventory Collection tab in the SMS Administrator console. Inventory data collected by the Software Inventory Client Agent is sent to the CAP and is added to the site server database by a thread of the SMS Executive.

To instruct the Software Inventory Client Agent to collect files from the client computer, file names or file types are added to the File Collection tab in the SMS Administrator console. The Software Inventory Client Agent collects the files and appends the collected files to software inventory collection data sent to the CAP. The CAP forwards the software inventory to the site server and the site server separates software inventory collection data from collected files. The software inventory collection data is added to the site database and collected files are stored on the site server's hard disk. The site server maintains the five most recent versions of collected files from each client computer. Thus it contains an archive of file changes, which makes it easy to track changes and recover previously saved versions of a collected file.

Putting Inventory Data to Work

Collecting hardware and software inventory is the first step in managing inventory data and client computer functions with SMS. After the data is collected in the site database and (in the case of collected files) stored on the site server's hard disk, data can be managed in SMS. Individual client computer inventory is viewed through a snap-in to the MMC called the Resource Explorer. To make full use of other SMS functions, inventory must be collected. The following SMS functions depend on inventory collection:

  • Reports on inventory data created using Crystal Info

  • Year 2000 product compliance using the Y2K compliance database

  • Advertisements using collections populated with inventory information

After hardware inventory has been performed, you can, for example, target an advertisement to be relayed only to computers running Windows NT Workstation, containing 64MB of RAM, and containing 250MB of free space on the D: partition.

The Resource Explorer will be discussed in Lesson 4. Other SMS features that use inventory data will be examined throughout this guide.

Lesson 2: Configuring Hardware and Software Inventory

Configuring inventory collection starts at the site server using the SMS Administrator console. Inventory activation is initiated through a three-step process: discovering computer resources, enabling installation methods, and configuring the inventory client agents. Resource discovery and installation methods were discussed in Chapter 2. Configuring the inventory client agents is the subject of this lesson.

After this lesson, you will be able to

  • Enable the inventory client agents.

  • Modify the frequency of automatic inventory collection.

  • Configure software inventory file collection and reporting detail.

Estimated Completion Time: 35 minutes

Configuration Procedures

The inventory client agents are configured using the Client Agents node in the SMS Administrator console. Configuration settings apply to all client computers within the site boundaries. When the the Client Agents node is selected, hardware inventory is configured from the Hardware Inventory Client Agent in the details pane. Software inventory is configured from the Software Inventory Client Agent in the details pane. Both inventory client agents are enabled and scheduled from the General tab contained in the properties dialog box of each client agent.

Configuring Inventory Collection Frequency

Inventory scheduling works similarly for both hardware and software inventory collection. Scheduling is designed to control how often inventory is collected from a client computer. In order to minimize the use of network resources, inventory agents run locally and collect inventory based on a schedule. When the client computer connects to the network, the inventory client agents copy previously collected data to the CAP for processing. This process separates inventory data collection from network logon. The result is network logon unencumbered by inventory collection processing.

There are two methods of scheduling inventory client agents, using either the simple schedule or the full schedule. The simple schedule instructs the inventory client agent to collect inventory data at specific hourly, daily, or weekly intervals (for example every 4 hours, once a day, or once every three weeks). A full schedule instructs the inventory agent to begin inventory on a specific date and at a specific time, after which a recurrence pattern is configured. Recurrence patterns can be:

  • Interval Inventory is taken after a specific number of minutes, hours, or days have elapsed. For example, inventory can be configured to be taken every seven days.

  • Weekly Inventory is taken on a specific day of the week (Monday to Sunday) after a certain number of weeks have passed. For example, inventory can be configured to be taken every other Monday.

  • Monthly Inventory is taken on a specific day of the month, the last day of the month, or based on when a day falls in a month. For example, take inventory on the third Tuesday of the month or every three months on the last day of the month (Figure 3-1). Notice in Figure 3-1 that the 'Start' value is consistent with the recurrence pattern. Since the recurrence pattern is configured for the last day of the month, u.Èbütart day must be the last day of the month.

Cc750085.f03xx01g(en-us,TechNet.10).gif

Figure 3-1: . Inventory is configured to occur on the last day of every third month effective at 7:01 p.m. on Monday, November 30, 1998.

Inventory collection should be scheduled to occur at regular intervals to keep the site database current. However, if inventory components rarely change, it is a good idea to set inventory collection to take place occasionally rather than frequently.

Note: In large networks, occasional rather than frequent inventory collection is particularly important. If you are configuring SMS for a large network, pay close attention to Chapter 9, "Planning for SMS," and the planning section of the SMS Administrator's Guide.

Software Inventory Collection

The settings under the Software Inventory Client Agent – Inventory Collection tab are used to modify the data retrieval characteristics of software inventory collection (Figure 3-2). File types (application files, EXE by default) or file names are inventoried based on the settings under this tab. The level of product reporting detail is also configured from the Inventory Collection tab. File reporting details are categorized by known products, files associated with known products, and files not associated with known products.

Cc750085.f03xx02g(en-us,TechNet.10).gif

Figure 3-2: . The Inventory Collection tab in the Software Inventory Client Agent Properties dialog box.

To gather file reporting details, the Software Inventory Client Agent reads the header of the files you instruct it to collect. Known product information includes company name and product name, product version, and product language. For known products, renaming a file to be inventoried will not conceal the identity of the file. If the Software Inventory Client Agent is configured to report on files associated with known products, it will collect information on files that support the product, such as dynamic link libraries. If product information cannot be determined by inspecting file header data, software inventory can still be collected, but the software will not be categorized by manufacturer in the site database.

The settings under the Software Inventory Client Agent – File Collection tab are used to configure the file names or file types that should be collected and sent to the site server (Figure 3-3).

Cc750085.f03xx03g(en-us,TechNet.10).gif

Figure 3-3: . The File Collection tab in the Software Inventory Client Agent Properties dialog box.

File names longer than the 8.3 format can be specified on computers that support long file names (LFN). File names using wildcards other than *.* can be used for file collection. Using wild cards for file collection or collecting large files from client computers is not advisable, since doing so can quickly fill up the site server's hard disk. In most cases, only small files should be collected. However, you can control the maximum amount of data that may be collected on each client computer by file collection.

Inventory Component Installation and Configuration

After the inventory client agents are activated in the SMS Administrator console, they are installed via an installation method. Installation methods were discussed in Chapter 2. The configuration settings of the inventory client agents are communicated by the site server to the CAP; they are then transferred from the CAP to the client computer when the Client Component Installation Manager runs. The Client Component Installation Manager

(CCIM16.EXE for Windows 16-bit client computers and CCIM32.EXE for Windows 32-bit client computers) manages all SMS client agent installations and reconfigurations. It also synchronizes all SMS data between the client computer and the CAP. Threads of the SMS Executive pass the data back and forth from the CAP to the site server. When the inventory client agents run, they perform their work based on settings dictated by the Client Component Installation Manager.

Except for Windows NT/2000, installation and configuration of a client computer is always performed in the context of the logged-on user. A user logged on to a Windows NT/2000 computer may not have sufficient rights to perform an installation or reconfiguration of client components. In this case, the Client Configuration Manager, a thread of the SMS Executive, performs the installation or reconfiguration of client components. The Client Configuration Manager connects to the Windows NT/2000 client computer using the SMS Client Remote Installation Account. If this Windows NT/2000 user account is not created, the Client Configuration Manager uses the SMS Service account to install and reconfigure client agents.

Lesson 3: The Inventory Collection Process

Lesson 2 explained how the inventory client agents are enabled, configured, and installed. This lesson describes how inventory data is collected and stored in the site database.

After this lesson, you will be able to

  • Explain the differences between the inventory client agents needed to support a variety of operating system environments.

  • List and describe the functions of the various files used by the inventory client agents.

  • Describe the entire collection process from client computer to site database.

Estimated Completion Time: 60 minutes

Inventory Collection Overview

After inventory is collected on the client computer, it is stored locally and sent to the CAP. The CAP then forwards inventory data to the site server and writes the data to the site database. Or, in the case of a secondary site server, inventory data is forwarded to the primary site server. If there are other site servers in the SMS hierarchy, child sites always pass inventory data to parent sites. Transferring data from child sites to parent sites is discussed in Chapter 11, "Site-to-Site Communications."

Client Computer Inventory Collection by Agent and Operating System

Client computer inventory collection procedures vary by operating system (Windows 16-bit or Windows 32-bit) and by inventory agent (Hardware Inventory Client Agent or Software Inventory Client Agent).

The Windows 32-bit Hardware Inventory Client Agent

This inventory agent uses the CIM Object Manager to process computer hardware inventory. CIM Object Manager and the Management Object Format (MOF) compiler are automatically installed on the client computer when the Hardware Inventory Client Agent is installed. The MOF compiler (MOFCOMP.EXE) reads and adds classes of managed objects contained in SMS_DEF.MOF to the CIM Object Manager repository (CIM.REP), which is stored in \winroot\SYSTEM32\WBEM\REPOSITORY. For example, the Win32_NetworkAdapter class in SMS_DEF.MOF is compiled into the SMS_G_System_Network_Adapter class in the CIM Object Manager repository. CIM Object Manager runs on the client computer and is responsible for hardware inventory collection based on the contents of the CIM Object Manager repository. Any data not contained in the repository are extracted directly from the providers. In the case of the network adapter, values for the adapter are extracted by the Win32 network adapter provider.

To determine when hardware inventory data should be collected, the SMS Client Service examines the registry key, HKLM\SW\MS*\SMS\*CLIENT\SITES\sitecode\CLIENT COMPONENTS\HARDWARE INVENTORY AGENT. If it is determined that inventory should be collected, the SMS Client Service informs the Hardware Inventory Client Agent (HINV32.EXE) to request hardware inventory from the CIM Object Manager and its providers.

The first time inventory collection is run, the client agent waits 30 minutes and then creates an inventory file with an HIC extension. When only changes to inventory (delta inventory) need to be sent, the client agent creates an inventory file with an HID extension. The complete inventory or delta inventory data is then moved to the \windir\MS*\SMS\*CLICOMP\HINV\OUTBOX directory with an INV extension. Inventory data in the OUTBOX directory is passed from the client computer to the CAP using a program called the SMS Copy Queue. Figure 3-4 shows the Hardware Inventory Client Agent inventory collection process.

Cc750085.f03xx04g(en-us,TechNet.10).gif

Figure 3-4: . The hardware inventory collection process.

For additional details on the Windows 32-bit hardware inventory collection process, find the "Hardware Inventory (32-bit Client)" flow diagram in Appendix D of the SMS Administrator's Guide.

Note: Custom inventory processing is also done by the Hardware Inventory Client Agent. This function is discussed in Lesson 4.

The Windows 16-bit Hardware Inventory Client Agent

CIM Object Manager is not supported on client computers running Windows 16-bit operating systems. Therefore, the Hardware Inventory Client Agent (HINV16.EXE) calls individual hardware routines, such as GETIRQ.EXE, to collect hardware inventory data. SMS_DEF.MOF is consulted to determine which hardware inventory classes are to be collected. HINV16.EXE stores collected hardware inventory as *.RAW files in the \windir\MS*\SMS\*CLICOMP\HINV\OUTBOX directory. The SMS Copy Queue copies the RAW file to the CAP for further processing. Unlike HINV32.EXE, the Windows 16-bit version of the Hardware Inventory Client Agent sends the full inventory to the CAP, and the burden of determining whether hardware inventory has changed is placed on the site server.

To determine when hardware inventory data should be collected, the SMS Client Service examines the [Sites – sitecode – Client Components – Hardware Inventory Agent] section of the SMSCFG.INI file in the \windir directory. If it is determined that inventory should be collected, the Hardware Inventory Client Agent runs.

The Windows 32-bit Software Inventory Client Agent

Neither the Windows 16-bit nor the Windows 32-bit Software Inventory Client Agents use CIM Object Manager to collect software inventory. The Client Component Installation Manager installs the software inventory client components. After installation, the SMS Client Service waits 30 minutes, then instructs the Windows 32-bit Software Inventory Client Agent (SINV32.EXE) to audit the local hard drives for files specified on the Inventory Collection tab in the SMS Administrator console. Collected software inventory is then written to the SINV.HIS file located in the \windir\MS*\SMS\CLICOMP\SINV\ directory. All files specified for collection on the File Collection tab in the SMS Administrator console are written to the \windir\MS\SMS\*CLICOMP\SINV\FILECOL directory. Inventory data collection and file collection are combined in a single file called SINVDAT.SIC, which is stored in the SINV directory. After software inventory has been run once, the Software Inventory Client Agent compares the new SINV.HIS file with the previously collected version of this file. If the new SINV.HIS is different from the original version, the Software Inventory Client Agent creates a delta inventory file named SINVDAT.SID and appends to it any files in the FILECOL directory. From this point on, both the SINVDAT.SIC and the SINVDAT.SID are processed in the same way. (Note that when the two files are discussed collectively, they will be referred to as SINVDAT.SI?.) The Software Inventory Client Agent copies SINVDAT.SI? to the OUTBOX directory and renames the file with an INV extension and a random eight character prefix. The SMS Copy Queue then moves the INV file to the CAP for further processing. The software inventory collection process is shown in Figure 3-5.

Cc750085.f03xx05g(en-us,TechNet.10).gif

Figure 3-5: . The software inventory collection process.

The Windows 16-bit Software Inventory Client Agent

The procedures for installing the Windows 16-bit Software Inventory Client Agent components and then processing software inventory on a Windows 16-bit client computer are similar to those performed on a Windows 32-bit client computer. The primary differences in the Windows 16-bit software inventory function are:

  • The Software Inventory Client Agent is named SINV16.EXE.

  • In order to determine whether a full software inventory (SINVDAT.SIC) or a delta inventory (SINVDAT.SID) is required, the Software Inventory Client Agent checks for the SMSSOFT.OLD file in the \windir\MS*\SMS\*CLICOMP\SINV directory.

  • The SMSCFG.INI file is used for agent configuration settings, since the Windows 16-bit registry is not designed for this purpose.

Moving Inventory Data from the CAP to the Site Server

After inventory is collected by the inventory agents, the inventory file is given a unique eight-character prefix (an extension appropriate to the inventory agent) and transferred to the CAP by the SMS Copy Queue. Unique prefix naming is important since many client computers can send their inventory data to the CAP simultaneously. If the file is not renamed, it could be overwritten before it is sent to the site server from the CAP. Suffix (extension) naming based on the client agent and operating system type is important so that threads of the SMS Executive know how to process the inventory. The following suffix names are used to process inventory placed on the CAP:

  • NHM (No History MIF). The file contains hardware inventory from a Windows 32-bit Hardware Inventory Client Agent.

  • RAW. The file contains full hardware inventory in MIF format from a Windows 16-bit Hardware Inventory Client Agent.

  • SIC (Software Inventory Complete). The file contains full software inventory from a Windows 16-bit and Windows 32-bit Software Inventory Client Agent.

  • SID (Software Inventory Delta). The file contains only changes to software inventory from Windows 16-bit and Windows 32-bit Software Inventory Client Agents.

Hardware inventory files are transferred from the client computer to the \CAP_sitecode\INVENTRY.BOX directory. Software inventory is transferred from the client computer to the \CAP_sitecode\SINV.BOX directory. Inventory data residing on the CAP is then sent to the site server by the Inbox Manager Assistant, a thread of the SMS Executive.

Note: Inventory data is also sent to parent sites in the SMS site hierarchy. Moving data through the site hierarchy is discussed in Chapter 11.

Hardware Inventory Data Transfer

Since the site server does not need to maintain history for client computers running CIM Object Manager, NHM files are used by the Windows 32-bit Hardware Inventory Client Agent. CIM Object Manager maintains a complete history of the client computer locally, so smaller delta inventory files are sent to the CAP for processing on the site server. This approach to inventory maintenance reduces the processing load placed on the site server and reduces use of the network.

RAW files are used by the Windows 16-bit Hardware Inventory Client Agent, since this hardware inventory agent does not maintain hardware history data.

Notice in Figure 3-6 that RAW files are numbered sequentially and that NHM files are randomly named. Also notice the difference in size between a RAW file and an NHM file. RAW files contain complete inventory, while NHM files contain either a complete inventory or only changes to the inventory.

The Inbox Manager Assistant transfers all hardware inventory files to *\smsdir\*INBOXES\INVENTRY.BOX on the site server. As shown in Figure 3-6, the Inventory Processor (a thread of the SMS Executive) running on the site server, processes all hardware inventory files (RAW and NHM) into MIF files and moves the files to \smsdir\INBOXES\DATALDR.BOX.

Figure 3-6 shows that after hardware inventory data transfer, the RAW files shrunk in size from 47KB to just over 20KB, while the NHM files did not change in size. The Inventory Processor converts RAW files into binary MIF files, but little processing of NHM files takes place. In the conversion of RAW files into MIF files, the Inventory Processor builds a delta inventory MIF file for Windows 16-bit client computer inventory data. It does this by checking the \smsdir\INBOXES\INVPROC.BOX\HISTORY directory for a hardware inventory history file created previously for the client computer.

Once files appear in *\smsdir\*INBOXES\DATALDR.BOX, the Inventory Data Loader processes the MIF files. The Inventory Data Loader verifies that the MIF files are formatted correctly before being written to the database. If the MIF files cannot be written to the database, the Inventory Data Loader stores the files in the \smsdir\INBOXES\DATALDR.BOX\BADMIFS directory.

The Inventory Data Loader compares the new inventory list with client computers in the database to flag synchronization errors, such as delta inventory taken for a computer that is not in the site database. It also uses this procedure to update the SMS database with new and changed record entries. If a hardware inventory MIF file arrives at the site server for a computer resource that has not been discovered, the Inventory Data Loader creates a data discovery record (*.DDR), which is then placed in the \smsdir\INBOXES\DDM.BOX directory. The Discovery Data Manager processes all DDRs placed in this directory. Once discovery is complete, the Inventory Data Loader writes hardware inventory to the site database.

Cc750085.f03xx06g(en-us,TechNet.10).gif

Figure 3-6: . An overview of the hardware inventory collection process from CAP to site server.

Software Inventory Data Transfer

Regardless of what Windows operating system is running on the client computer, a complete software inventory is always stored in a file with a SIC extension, and a delta inventory is always stored in a file with a SID extension. The software inventory file is transferred to the CAP in the \CAP_sitecode\SINV.BOX directory. Just as in hardware inventory, the Inbox Manager Assistant is responsible for transferring these inventory files to the site server. SINVDAT.SI? files are moved from the SINV.BOX directory on the CAP to the \smsdir\INBOXES\SINV.BOX directory on the site server. After a file arrives at the site server, all software inventory processing is completed by the Software Inventory Processor (Figure 3-7).

After SINVDAT.SI? files appear in SINV.BOX on the site server and before software inventory is written to the database, the Software Inventory Processor completes the following tasks:

  1. Verifies that a DDR exists for the client computer in the site database. If no DDR exists, it waits for the Discover Data Manager to create a DDR in the site database

  2. Verifies that the SINVDAT.SI? is more recent than software inventory data in the site database

  3. Verifies the format of the SINVDAT.SI? file

  4. Separates inventory collection data from files collected

  5. Writes the five most current versions of a collected file to the site server's disk

After these five steps are completed, the Software Inventory Processor stores pointer information in the site database so that collected files can be retrieved through the Resource Explorer snap-in. It also writes inventory collection data to the site database.

Cc750085.f03xx07g(en-us,TechNet.10).gif

Figure 3-7: . An overview of the software inventory collection process from CAP to site server.

Hardware and Software Inventory Resynchronization

The Inventory Data Loader and the Software Inventory Processor interface directly with the site database in order to write inventory data into it. These threads of the SMS Executive do not write data blindly. Instead, they must first make sure that the MIF files are properly formatted and that there is an associated record in the database for delta inventory. If these conditions are not met, either thread of the SMS Executive issues a resynchronization. Resynchronization is a corrective process that causes the inventory agent to run a complete inventory on a client computer. The following events cause inventory resynchronization:

  • The Inventory Data Loader or Software Inventory Processor tries to update data that does not exist in the database.

  • The inventory data received on the site server is corrupted.

  • A client computer attaches to a new site.

  • The inventory reporting detail is changed for the inventory agents.

  • Client computer inventory history cannot be found.

When these events take place, the inventory agent generates a complete hardware inventory and replaces the existing history data (if the inventory agent supports local history data) with complete inventory data.

Examining the Inventory Collection Process

Through the exercises in Chapter 2, you prepared SMS to install the inventory client agents on discovered computer resources. In this exercise, you will observe the flow of inventory data from the client computer (Computer 2) to the site server.

Exercise 14: Preparing the Site Server for Inventory Collection Monitoring

In this exercise, you will use the SMS Service Manager to stop threads of the SMS Executive that are responsible for inventory processing.

  1. Click the Start button, then point to Programs.

    A menu of choices appears.

  2. Point to Systems Management Server, then click SMS Administrator console.

    The sms (Systems Management Server) MMC appears.

  3. Expand the SMS console tree to locate and select the Tools node.

    Nodes below the Tools node appear.

  4. Select the SMS Service Manager node.

    The SMS Service Manager is highlighted.

  5. From the Action menu, choose All Tasks, then choose Start SMS Service Manager.

    The SMS Service Manager window appears.

  6. Select the + sign from the SO1 node in the left pane of the SMS Service Manager.

    The Components and Servers nodes appear.

  7. Select the Components node in the left pane of the SMS Service Manager.

    All SMS Components appear in the right pane of the SMS Service Manager node.

  8. From the Component menu, select Select all.

    All SMS Components in the right pane are selected.

  9. From the toolbar, click the yellow exclamation mark.

    The status of all SMS components running on the site server appear in the right pane.

  10. Click on the SMS_SITE_COMPONENT_MANAGER. Then from the tool bar, select the red box to stop this service.

  11. To verify that the service has stopped, click the yellow exclamation mark on the toolbar.

    The Status column shows that the service has stopped. This service is responsible for ensuring that all enabled services are running. It must be disabled before you can complete this exercise, since you will manually control a number of SMS services.

  12. Perform the two steps just described for the following services:

    SMS_INBOX_MANAGER_ASSISTANT

    SMS_INVENTORY_PROCESSOR

    SMS_INVENTORY_DATA_LOADER

    SMS_SOFTWARE_INVENTORY_PROCESSOR

    The selected services now show a status of being disabled. These services are involved in the inventory collection process from the CAP to the site server.

  13. Minimize but do not close the SMS Service Manager window.

  14. From the Start menu, choose Run.

    The Run dialog box appears.

  15. Enter D:\CAP_S01\INVENTRY.BOX and click OK.

    The D:\CAP_S01\inventry.box window appears.

  16. Repeat the last two steps to open windows for the following directories:

    D:\SMS\INBOXES\INVENTRY.BOX

    D:\CAP_S01\SINV.BOX

    D:\SMS\INBOXES\SINV.BOX

    D:\SMS\INBOXES\DATALDR.BOX

    You have prepared the site server to observe the inventory collection process. After Lesson 4, you will observe inventory collection and use the Resource Explorer, described in the next lesson, to view collected inventory data.

Lesson 4: Using the Resource Explorer and Extending Inventory Collection

Once data has been collected, it can be viewed using the Resource Explorer snap-in. There are several other programs, such as Crystal Info, that are bundled with SMS for viewing inventory, but the Resource Explorer is one of the simplest tools for viewing collected inventory data. Hardware inventory data viewed through the Resource Explorer and other programs can be extended or customized using SMS.

After this lesson, you will be able to

  • Use the SMS Resource Explorer to view collected inventory.

  • Explain how inventory data can be extended through SMS_DEF.MOF and customized using MIF files.

Estimated Completion Time: 60 minutes

Viewing Collected Inventory

The Resource Explorer (EXPLORER.MSC) is a snap-in to the MMC that is stored on the site server and on any Windows NT/2000 computer where the SMS Administrator console is installed. It is accessed through the SMS Administrator console when you select a client computer stored in any collection under the Collections node and then choose Resource Explorer from the Action menu. This procedure is shown in the Resource Explorer demonstration (RESEXP.AVI). Run the demonstration at 1024 x 768 resolution.

The primary nodes shown in the Resource Explorer console tree are the Hardware, Hardware History, and Software nodes. The Hardware Inventory Client Agent reports data to classes or groups of resources under the Hardware and Hardware History nodes, while the Software Inventory Client Agent reports data to reporting categories under the Software node. When a group or reporting category under these nodes is selected, resources appear in the details pane. For example, if the Logical Disk History group is selected under the Hardware History node, disk history for the client computer being explored appears in the details pane.

The Software node contains four groups: CollectedFile, LastSoftwareScan, Manufacturer, and UnknownFiles. These groups correspond to the configuration of the Software Inventory Client Agent in the SMS Administrator console. CollectedFile is populated with any files configured for collection through the File Collection tab. The other groups contain data based on the configuration settings made on the Inventory Collection tab.

Cc750085.f03xx08g(en-us,TechNet.10).gif

Figure 3-8: . The Resource Explorer.

Exercise 15: Installing the Inventory Client Agents and Collecting Inventory from Computer 2

In this exercise, you will start Computer 2, running Windows NT Workstation, and log on to DOMAIN1 to install the inventory client agents.

  1. Start Computer 2.

    Windows NT starts and the Enter Network Password logon screen appears.

  2. Enter or verify that User1 appears in the 'User name' field and that DOMAIN1 appears in the 'Domain' field. Enter PASSWORD in the 'Password' field and click OK.

    Computer 2 will log on and a logon script will run. You may also hear disk activity as the hardware and software inventory client agents and agent support files are installed on Computer 2.

  3. From Computer 2, click the Start menu and choose Run.

    The Run dialog box appears.

  4. Enter C:\WINNTW\MS\SMS\CLICOMP and click OK.

    The clicomp window appears.

  5. A few moments after the HINV and SINV directories appear below the CLICOMP directory, the Hardware and Software Inventory Client Agents are installed. You can watch the OUTBOX directories below the HINV and SINV directories for the appearance of the inventory files.

Exercise 16: Observing the Inventory Collection Process and Viewing Collected Inventory Data

In this exercise, you will observe as inventory is processed from Computer 2 to the site server database. This exercise is completed on the site server (Computer 1).

  1. Make sure that you can see the D:\CAP_S01\inventry.box and the D:\CAP_S01\sinv.box windows that you opened previously.

    Hardware inventory processing begins approximately 15 minutes after the installation of the Hardware Inventory Client Agent. Software inventory begins approximately 30 minutes after the installation of the Software Inventory Client Agent. You can take a break while you are waiting for files to appear in the INVENTRY.BOX and SINV.BOX directories.

  2. A hardware inventory file (*.NMH) will appear in the D:\CAP_S01\inventry.box window. This is the first complete hardware inventory taken by the Hardware Inventory Client Agent on Computer 2. Continue to wait for the software inventory file to appear in D:\CAP_S01\sinv.box.

  3. A software inventory file (*.SIC) will appear in the D:\CAP_S01\sinv.box window. This is the first complete software inventory taken by the Software Inventory Client Agent on Computer 2.

  4. Arrange the D:\CAP_S01\inventry.box window next to the D:\SMS\inboxes\inventry.box window. Arrange the D:\CAP_S01\sinv.box window next to the D:\SMS\inboxes\sinv.box window.

  5. Click the SMS Service Manager window on the taskbar to restore it.

    The SMS Service Manager window appears.

  6. Arrange the SMS Service Manager window and the directory windows you have arranged on your desktop so they are all clearly visible.

  7. Select the SMS_ INBOX_MANAGER_ASSISTANT from the details pane of the SMS Service Manager window.

    The SMS_INBOX_MANAGER_ASSISTANT is highlighted.

  8. While you click the green triangle on the toolbar of the SMS Service Manager window, watch the *.NHM file move from the D:\CAP_S01\inventry.box window to the D:\SMS\inboxes\inventry.box window and the *.SIC file move from the D:\CAP_S01\sinv.box window to the D:\SMS\inboxes\sinv.box window.

    The SMS_INBOX_MANAGER_ASSISTANT has moved the files from the CAP to the site server. Since there is only a single site system for these exercises (the site server), the CAP and the site server are the same computer.

  9. Close the D:\CAP_S01\inventry.box window and the D:\CAP_S01\sinv.box window.

  10. Arrange the windows on your desktop so that you can see the D:\SMS\inboxes\inventry.box window and the D:\SMS\inboxes\Dataldr.box window.

  11. Arrange the SMS Service Manager window so that it is also clearly visible.

  12. Select the SMS_ INVENTORY_PROCESSOR from the details pane of the SMS Service Manager window.

    The SMS_ INVENTORY_PROCESSOR is highlighted.

  13. While you click the green triangle on the toolbar of the SMS Service Manager window, watch the *.NHM file move from the D:\SMS\inboxes\inventry.box window to the D:\SMS\inboxes\dataldr.box window.

    The file is renamed and moved to the DATALDR.BOX directory as it is processed by the SMS Inventory Processor. The software inventory files are not processed, since this is not the responsibility of the SMS Inventory Processor.

  14. Close the D:\SMS\inboxes\inventry.box window.

  15. Select the SMS_ INVENTORY_DATA_LOADER from the details pane of the SMS Service Manager window.

    The SMS_ INVENTORY_DATA_LOADER is highlighted.

  16. While you click the green triangle on the toolbar of the SMS Service Manager window, watch the *.MIF file disappear from the D:\SMS\inboxes\dataldr.box window as it is written to the site database.

  17. Close the D:\SMS\inboxes\dataldr.box window.

  18. Find the SMS Administrator console on your desktop and bring it to the foreground.

  19. Under the Collections node in the SMS console tree, select the All Windows NT Workstation 4.0 Systems collection.

    Computer2 appears in the details pane.

  20. Select Computer2, then from the Action menu, choose Start Resource Explorer.

    The explore – [COMPUTER2] snap-in appears.

  21. Select the + sign to the left of the Hardware node in the Resource Explorer console tree.

    The Hardware node expands to show hardware inventory classes.

  22. Select any of the hardware classes that appear to view collected hardware inventory properties in the details pane.

  23. Select the - sign to the left of the Hardware node in the Resource Explorer console tree.

    The Hardware node collapses.

  24. Select the + sign to the left of the Hardware History node in the Resource Explorer console tree.

    The Hardware History node expands to show hardware inventory history classes.

  25. Expand these history classes to view current hardware inventory and hardware inventory history properties in the details pane.

  26. Select the - sign to the left of the Hardware History node in the Resource Explorer console tree.

    The Hardware History node collapses.

  27. Select the + sign to the left of the Software node in the Resource Explorer console tree.

    The Software node expands to show software inventory reporting categories.

  28. Select any of the software inventory reporting categories.

    No software inventory has been reported to the site database so there is no data below these reporting categories. Software inventory data is still in the D:\SMS\INBOXES\SINV.BOX directory awaiting processing by the SMS Software Inventory Processor.

  29. Minimize but do not close the Resource Explorer snap-in.

  30. Arrange D:\SMS\inboxes\sinv.box window and the SMS Service Manager window on your desktop so that you see both these windows at the same time.

  31. Select the SMS_ SOFTWARE_INVENTORY_PROCESSOR from the details pane of the SMS Service Manager window.

    The SMS_ SOFTWARE_INVENTORY_PROCESSOR is highlighted.

  32. While you click the green triangle on the toolbar of the SMS Service Manager window, watch the *.sic file disappear from the D:\SMS\ inboxes\sinv.box window as it is written to the site database.

  33. In the details pane of the SMS Service Manager window, find the SMS_SITE_COMPONENT_MANAGER. Then from the toolbar, start this service by clicking the green triangle.

  34. Close the D:\SMS\inboxes\sinv.box window and the SMS Service Manager window.

  35. Restore the Resource Explorer snap-in from the task bar.

  36. Find and expand the Software node in the Resource Explorer console tree.

  37. Select each of the reporting categories below the Software node to verify that software inventory has been written to the database.

  38. Close the opened windows on your desktop.

    Through this series of exercises, you installed the inventory client agents on Computer 2, observed the flow of inventory data from the client computer to the site database, and viewed inventory data using the Resource Explorer snap-in.

Methods of Extending Hardware Inventory

Extended or custom inventory is collected by the Hardware Inventory Client Agent and sent to the site server using the same processes and threads involved in standard hardware inventory collection. Custom inventory can then be viewed using the SMS Administrator console.

The essential element in extending hardware inventory is the use of Management Information Format files or MIF files. SMS uses MIF files to collect hardware inventory information. Hardware inventory is collected through settings specified in the SMS_DEF.MOF file and reported to the site database through MIF files. SMS also accepts custom MIF files that describe virtually any type of object or component—printers, people, concepts, asset numbers; anything that can be described with data attributes. The two methods for extending hardware inventory are modifying the SMS_DEF.MOF file and creating custom MIF files.

Modifying SMS_DEF.MOF

The SMS_DEF.MOF file is parsed by the MOF compiler on the client computer to determine what classes and properties should be collected. This file uses the CIM v.2 MOF format and is compiled into the CIM Object Manager repository. The Windows 32-bit Hardware Inventory Client Agent queries the CIM Object Manager repository and Win32 providers for inventory, as specified in SMS_DEF.MOF. The Windows 16-bit Hardware Inventory Client Agent reads the SMS_DEF.MOF file directly to determine what hardware inventory data should be collected. As a result hardware inventory files are created and sent to the site database. SMS hardware classes and properties of classes can be enabled or disabled by editing the SMS_DEF.MOF file in the \smsdir\INBOXES\CLIFILES.SRC\HINV directory. The site server distributes the updated SMS_DEF.MOF file to the CAP and the CAP distributes SMS_DEF.MOF to client computers.

Note: SMS_DEF.MOF can be edited using an ASCII text editor or the MOF Manager tool on the SMS 2.0 installation CD-ROM. The MOF Manager and other tools on the SMS 2.0 installation CD-ROM are discussed in Chapter 14, "Monitoring and Troubleshooting SMS."

The code in Figure 3-9 shows the default settings for the Boot_Configuration class in SMS_DEF.MOF. The first value SMS_Report indicates whether or not the class is to be reported in hardware inventory. Since this value is set to true, the Boot_Configuration class is reported in the database and appears in the SMS Resource Explorer, as shown in Figure 3-9.

Cc750085.f03xx09g(en-us,TechNet.10).gif

Figure 3-9: . The relationship of SMS_DEF.MOF to classes and properties that appear in the Resource Explorer.

The properties or strings of the Boot_Configuration class appear below the class. Property values are collected if the SMS_Report value is set to true for the property. Notice in Figure 3-9 that the properties strings, BootDirectory, LastDrive, Name, and TempDirectory are set to true so the property names and values appear in the details pane of the Resource Explorer. When there is no value for a property, it appears blank in the Resource Explorer, as shown by the LastDrive property.

Warning: Enabling classes and properties that report a large quantity of information increases network utilization. Test any changes you make to this file before moving it into a production environment, and configure hardware inventory to run at non-peak hours.

Creating Custom MIF Files

Two types of MIF files can be created to customize inventory. One type, which adds information to the classes and properties of a client computer, is shown in procedure 1 in Figure 3-10. The second type creates an entirely new object that is also stored in the site database and may or may not be viewed through the SMS Administrator console. This second type is shown in procedure 2 in Figure 3-10.

Cc750085.f03xx10g(en-us,TechNet.10).gif

Figure 3-10: . Adding custom inventory (procedure 1) to a client computer's hardware inventory data or (procedure 2) independent of client computers.

NOIDMIFs

NOIDMIF files allow the Hardware Inventory Client Agent to add additional hardware inventory classes and properties to the site database. The word "NO" is included in the name of this MIF file because the existing client computer architecture is used by this file to automatically associate it with a computer entry in the site database. After the NOIDMIF file is created, it is placed in the \windir\MS\SMS\NOIDMIF directory for processing by the Hardware Inventory Client Agent. A new class added in this way appears under the Hardware node in the Resource Explorer.

IDMIFs

IDMIFs are commonly used to add new architectures to the site database. This type of MIF file can be processed on a client computer by placing the file in the \windir\MS\SMS\IDMIF directory. Depending on the relationship created between this new architecture and the client computer architecture, data from IDMIFs may or may not appear in the SMS Administrator console.

Chapter Summary

The inventory collection process is an important function in SMS. Both hardware and software inventory client agents must be configured in the SMS Administrator console to initiate the inventory collection process. The collection process varies according to the client operating system and the type of inventory collection. Many processes and threads are involved with inventory collection used. Inventory collection is complex due to the number of computers involved in collection and the number of processes and threads, which must coordinate their activity.

  1. What are the two categories of inventory collection?

    ___________________________________________________________________________

  2. Select the correct inventory scheduling model and recurrence pattern to be used, given the followings scenarios:

    Scenario 1: You wish to collect hardware and software inventory once a week.

    ___________________________________________________________________________

    ___________________________________________________________________________

    ___________________________________________________________________________

    Scenario 2: You want to collect only hardware inventory and you need it to occur at 2 a.m. every third Monday of the month.

    ___________________________________________________________________________

    ___________________________________________________________________________

    ___________________________________________________________________________

    ___________________________________________________________________________

    ___________________________________________________________________________

  3. Which computer maintains hardware inventory for a Windows 32-bit client computer and a Windows 16-bit client computer?

    ___________________________________________________________________________

    ___________________________________________________________________________

    ___________________________________________________________________________

  4. What is the role of the Inventory Processor in the inventory collection process?

    ___________________________________________________________________________

    ___________________________________________________________________________

    ___________________________________________________________________________

    ___________________________________________________________________________

    ___________________________________________________________________________

  5. What is the purpose of SMS_DEF.MOF?

    ___________________________________________________________________________

    ___________________________________________________________________________