Inventory Agent

Every SMS client has a version of the Inventory Agent program as described in the following table.

Client operating system

Inventory Agent file name

Windows NT

INVWIN32.EXE, INV32CLI.EXE

Windows 95

INVDOS.EXE

Windows for Workgroups

INVDOS.EXE

Windows version 3.1

INVDOS.EXE

MS-DOS (version 5.0 or later)

INVDOS.EXE

Macintosh (version 7.0.0 or later)

INVMac

OS/2 version 2.11 and OS/2 Warp

INVOS2.EXE


Except for Macintosh clients, the Inventory Agent runs when the SMSLS or RUNSMS batch file is called. For clients running NetBIOS protocols, such as NetBEUI and TCP/IP, the Inventory Agent program runs from the SMSLS.BAT logon script. For NetWare IPX-based clients, Inventory Agent runs as part of a NetWare system logon script.

Inventory Agent for Windows version 3.1, Windows for Workgroups, MS-DOS, Windows 95, and Windows NT generates *.RAW files. The Inventory Agent programs for Macintosh and OS/2 clients create ASCII MIF files. Both *.MIF and *.RAW files become binary MIF files after being processed by the Inventory Processor.

On all clients, the Inventory Agent:

Inventory on Clients Running Windows NT

The SMS Client Inventory service (INV32CLI.EXE) is installed on Windows NT-based clients by the Client Configuration Manager, if the SMS Inventory Agent (INVWIN32.EXE) is not running. SMS Client Inventory runs under the LocalSystem security context and thus provides a more complete inventory. The SMS Client Inventory:

The inventory RAW file on the client is copied to the SMS logon server by Client Monitor. If no user is logged on to the client when inventory is collected, Client Monitor will not start until the next time a user logs on.

As in previous releases of SMS, INVWIN32.EXE is also an Inventory Agent for Windows NT-based clients. INVWIN32.EXE is launched from SMSLS.BAT or RUNSMS.BAT when the user logs on. The INVWIN32.EXE program:

Inventory on Clients Running MS-DOS, Windows 3.1, Windows for Workgroups, and Windows 95

On clients running MS-DOS, Windows version 3.1, Windows for Workgroups, and Windows 95, the Inventory Agent always reports the protocol used while connecting to the SMS logon server. If information about other protocols is available to the Inventory Agent, it will report this also.

On clients running Windows for Workgroups or LAN Manager, you must run the SMSLS.BAT or RUNSMS.BAT file or Inventory Agent using the Full (or Enhanced) Redirector. If you use the Basic Redirector, the Inventory Agent will either not report the inventory or prompt you for an SMS ID. It can also quit the process and display an error. To correct this, start the network software using the Full or Enhanced Redirector.

Inventory Agent Command Line Options

There are four Inventory Agents, each supporting different command line options:

Inventory agent

Client operating system

INV32CLI

Windows NT

INVWIN32

Windows NT

INVDOS

MS-DOS, Windows 3.1, Windows for Workgroups, Windows 95

INVOS2

OS/2


These commands are described in the following sections.

INV32CLI

The syntax for INV32CLI is:

inv32cli /Tminutes

Where minutes sets the sleep interval. Using this option temporarily overwrites the initial 24-hour default value. This setting will last until the service is stopped and restarted.

INVWIN32

To run INVWIN32 as an executable file, the syntax is:

invwin32 /E [/F] [/I] [/V] [/L:\\SMS server\SMS_SHR]

To run INVWIN32 as a service, the syntax is:

invwin32 [/F] [/I] [/Tminutes]

/E

Causes INVWIN32 to be called as an executable file, rather than a service.

/F

Forces an immediate hardware and software inventory.

/I

Performs software and hardware inventory only (does not perform any other task such as downloading or collecting files).

/V

Specifies verbose mode. Displays status messages during execution.

/L:\\SMS server\SMS_SHR

Specifies an SMS server to use for inventory input and output files. Overwrites the specified server in SMS.INI.

/Tminutes

Sets the service sleep interval to minutes, temporarily overwriting the default value of 24 hours. This setting will last until the service is stopped, and then restarted.

When running INVWIN32 as a service, specify its switches in the Startup Parameters box in the SMS Service Manager.

INVDOS

The syntax for INVDOS.EXE is:

invdos [/F] [/M] [/I] [/V] [/L:\\SMS server\SMS_SHR | /N\\server /Pshare]

/F

Forces an immediate hardware and software inventory.

/M

Forces INVDOS to request a unique computer name.

/I

Performs software and hardware inventory only (does not do any other task such as downloading or collecting files).

/V

Specifies verbose mode.

/L:\\SMS server\SMS_SHR

Specifies an SMS server to use for the inventory input and output files. Overwrites the specified server in SMS.INI.

/N\\server /Pshare

Specifies the location for inventory output files. Overwrites the InventoryCollectionPoint entry in SMS.INI. These switches will also overwrite the /L option.

INVOS2

The syntax for INVOS2.EXE is:

invos2 [/V] [/L:\\SMS server\SMS_SHR]

/V

Specifies verbose mode.

/L:\\SMS server\SMS_SHR

Specifies an SMS server to use for the inventory input and output files. Overwrites the specified server in SMS.INI.

Temporary Files

The SMSSAFE.TMP file is created by the Inventory Agent to record the status of hardware inventory. Every time the Inventory Agent runs, it creates drive:\SMSSAFE.TMP. When it successfully finishes, it deletes this file. If the Inventory Agent doesn't complete inventory successfully, the file remains as a signal that something went wrong during the previous inventory collection. When it runs again, the Inventory Agent writes entries to the empty SMSSAFE.TMP for each test it runs. The results are marked COMPLETED after successfully doing each test or CRASHED, if a hardware test fails. The next time the Inventory Agent runs, it reads the file again; all tests marked CRASHED are skipped and their failure is recorded and written to the [WorkstationStatus] section of the SMS.INI file. After moving the failed tests to the SMS.INI file, the SMSSAFE.TMP file is deleted. The next time the Inventory Agent runs, it will detect the failed tests in the SMS.INI file and skip failed hardware tests.

When you troubleshoot a hardware inventory problem, you may need to disable portions of the hardware detection during the SMS inventory on the client. This can be accomplished by creating your own SMSSAFE.TMP file.

To create a SMSSAFE.TMP file, use a text editor to add valid entries of hardware devices or parameters you want the hardware detection to bypass (listed below). For example, if you want to bypass the mouse detection, enter the following in the SMSSAFE.TMP file:


MouseInfo=CRASHED

The following are valid entries for SMSSAFE.TMP (FailedHardwareChecks):


BanyanVines
BiosInfo
CMOSMemory
CommPorts
ComputerConfig
ComputerName
ConventionalMemory
DeviceInfo
Disks
Dma
DPMIMemory
Drive<X>
EMMMemory
EMMMemoryInfo
ExtendedMemory
GamePorts
IRQInfo
Keyboard
Lanman
LanmanInfo
LanManNetcardInfo
Lantastic
LantasticInfo
MouseInfo
MSNet
NetBios
Novell
NovellInfo
NovellNetcardInfo
PrinterPorts
TSRInfo
VCPIMemory
Video
WolverineInfo
XMSMemory

When a failed hardware component is fixed or replaced, remove the appropriate FailedHardwareChecks entry from the [WorkstationStatus] section in SMS.INI and remove the SMSSAFE.TMP file (if it only referenced one component). Start the client again and run the Inventory Agent to include the component.