SMS Server and Client Setup, Part 2

Nathaniel Bowman answers some of your SMS Server and Client questions.

Nathaniel Bowman

June 30, 1996

8 Min Read
ITPro Today logo

Why isn't the SystemsManagement Server (SMS) adding inventory information to my SQL database?

This process can fail forseveral reasons. The Inventory Agent can display the message "Error OpeningFile" when collecting more than two files. SMSLS.BAT in the login scriptcan produce errors if you manually create the directory structure in NETLOGONand don't correctly update the directory when you upgrade to SMS 1.1. Or SMS canbe creating .RAW files but not changing them into Management Information Files(.MIFs) or not adding the .MIFs to the SQL database.

Go through the inventory process in verbose mode. Set the environmentvariable SMSLS=1 on the client workstation, or run the client's Inventory Agentusing the /V switch. This switch provides a verbose display of all messages onscreen. For Inventory Agent command-line syntax, see Appendix B, "InventoryAgent" in the SMS Administrator's Guide. Look at the output forerrors or for a process stopped prematurely. Appendix C, "CollectingInventory at a Primary Site," SMS Administrator's Guide, maps theflow of a .RAW file to a .MIF (a text file) before SMS writes the .MIF to theSQL database. Pay attention to the services involved and review their log filesto troubleshoot the problem. The following are some possible solutions.

If you receive the message, "Error Opening File," on the SMSclient during inventory and you're collecting more than two files, you have twoworkarounds. First, look in SMSLOGON.SRVINVENTRY.BOX on the client's SMSlogon server for a .TMP file. You continue the inventory process by changing the.TMP extension on this file to .RAW. The other workaround is to disable the "collectedfiles" portion of any inventory packages. If you need to collect files,don't collect more than two files per inventory package.

If you run Inventory Agent on a new client, but the inventory doesn't showin the database, look at the CURRENTLOGONSERVER entry in the hidden C:SMS.INIfile on the client to determine which logon server SMS is reporting theinventory to. Stop the SMS Maintenance Manager and Site Configuration Managerservices on the site server, and run inventory on the new client again.

For MS-DOS, Windows 3.X, Windows for Workgroups, and Windows NT clients,check the SMS_SHRINVENTRY.BOX directory for aclient-generated .RAW file. For Macintosh and OS/2 clients, check the SMS_SHRISVMIF.BOX directory for a .MIF. A new .MIF is 40KB to 60KB.Delta .MIFs are less than 5KB. If multiple files exist, look for the mostrecent. Display the file's text contents and look for an SMS ID that matches theSMS unique ID in C:SMS.INI. If the .RAW file or .MIF exists, Inventory Agent isworking properly.

If the .RAW file or .MIF doesn't exist, check to see whether the client'sInventory Agent can connect and write to the SMS client. See the next section todetermine whether an SMS Site service is suspect. Restart the SMS MaintenanceManager and Site Configuration Manager services when you finish this test.

If the Inventory Agent works on the client but SMS doesn't update thehardware inventory, stop the SMS services with SMS Services Manager while youtroubleshoot. After you finish examining each file, start the service that willprocess that file. This approach lets you look at the file before the servicedeletes the file and sends the results to the next point in the system.

Confirm that the client's hardware inventory collection interval expired.Check the current LASTHARDWARESCAN value in the SMS.INI file. Add the inventorycollection interval, and configure it for the SMS site server. Compare theresulting date against the client's date. SMS uses this procedure to determinewhen to collect hardware or software inventory. (For more information on theinventory process, see the SMS Administrator's Guide, Appendix C.)

The SMS Maintenance Manager service collects a .RAW file or .MIF from thelogon servers and transfers it to the SMSSITE.SRVINVENTRY.BOX or ISVMIF.BOXdirectory on the SMS site server, depending on the client type. If SMS doesn'tcreate and place a .RAW file or .MIF while the SMS Maintenance Manager iscollecting inventory, check the SMSLOGSMAINTMAN.LOG file for connection ortransfer errors.

After the .RAW file or .MIF reaches the SMS site server, the SMS InventoryData Processor service processes the file and places the output in theSMSSITE.SRVDATALOAD.BOXDELTAMIF.COL directory. If this service doesn'tremove the file from the source directories, or if the file doesn't appear inthe destination directory, check the SMSLOGSINVPROC.LOG file for errors.

After the SMS Inventory Data Processor writes the output to the..DELTAMIF.COL directory, the SMS Inventory Data Loader copies the data in thefile to the SQL database. If this service doesn't remove the file from thisdirectory or the data doesn't appear in the SQL database, check theSMSLOGSDATALODR.LOG file for errors.

Log file entries report both the SMS Event ID and the NT error code.Convert the NT error code to text with ERROR32.EXE to determine what the erroris. Copy ERROR32.EXE from PSSTOOLS on the SMS installation CD.

If the inventory in the database is corrupt or incorrect, run InventoryAgent on the client and look for the client-generated .RAW file or .MIF. Comparethe inventory in the .RAW file or .MIF with the client's configuration. If the.RAW file or .MIF inventory is correct on the logon server, check the file againafter the SMS Maintenance Manager moves the file to the site server and againafter the SMS Inventory Data Processor creates the delta .MIF in the..DELTAMIF.COL directory. To find out whether the Inventory Agent isresponsible for corrupting a .RAW file or .MIF on the logon server, enable theInventory Agent verbose mode and watch for errors.

Network or file system problems can corrupt a .RAW file or .MIF on the SMSsite server. Check the associated service log files for error or warningmessages. If the .MIF is corrupt, the SMS Data Loader service will usually parsethe .MIF and place it in the DATALODR.BOXBADMIFS directory for theadministrator to review.

If SMS doesn't collect or update the software inventory, confirm that thesoftware inventory collection interval has expired. Check the currentLASTSOFTWARESCAN value in the SMS.INI file. Add the inventory collectioninterval, and configure it for the SMS site server. Compare the resulting dateagainst the client's date.

Confirm that SMS created and placed a compiled software package rules file(PKG_16.CFG) on the logon server. This file specifies what software inventorythe Inventory Agent collects from the SMS client. (For more information abouthow SMS creates and places PKG_16.CFG on logon servers, see the SMSAdministrator's Guide, Appendix C.)

Check the PACKAGE.RUL file (see Appendix C for its location) and confirmthat it has the proper software package rules. SMS compiles this file to createthe PKG_16.CFG file.

Finally, check the resulting .RAW file or .MIF that the Inventory Agentcreates. SMS appends software inventory and any files the Inventory Agentcollects to the end of the hardware inventory section. Carefully check theSoftware Package inventory rule properties that you create with the SMSAdministrator. Many software inventory problems occur because of a bad rulesconfiguration.

Contact Info

Microsoft * 206-882-8080Web:

The sharedapplications I sent to my client won't execute, or they produce errors onexecution. Where do I look for the problem?

First, make sure that, atlogon, the NT domain controller is validating users you specify to receive thepackage. When an SMS client runs SMSRUN16.EXE and the Program GroupControl (PGC), the program calls APPCTL16.EXE. If the NT domain controllercan't validate the client user at logon, the API that determines the globalgroup membership fails, resulting in one or all of the following error messages:

PGC-Could not enumerate applications in applications database

PGC-Application database gave error 20

PGC-Could not find object application list in application database

PGC-Could not complete the updating of the program configuration, contactadmin.SMS

This problem usually occurs when clients on the other side of a router froma domain controller can't locate a domain controller for validation.

If the problem doesn't involve the client logon validation, you can useVIEWNAD.EXE to look at the network applications database (NAD). This utility isin the PSSTOOLS directory of the SMS installation CD. Execute VIEWNAD.EXEfrom the directory SMSLOGON.SRVAPPCTRL.BOXDATABASE.

Why does my Windows95 client receive errors during a remote control session?

Win95 Explorer andInternet Explorer can cause a general protection fault if you repeatedly attemptto remotely control a Win95 client. The following error can also appear:

Application Error: WUSER2 caused a general protection fault in moduleIDIS_LM.DLL at xxxx:xxxx

US Service Pack 1 for SMS 1.1 corrected this problem.

How can Isuccessfully configure my NetWare logon server for my SMS site server?

Make sure the SMS siteserver's Service Account has full rights to the root directory and that it is amember of the everyone group. You can run into difficulty if you defineseveral NetWare domains and enable Use All Detected Servers in the SMSAdministrator's user interface. By default, using Use All Detected Serverslocates all NetWare servers within 16 router hops. SMS adds the logon servers inthese domains to multiple SMS domains and multiple sites (if the NetWare domainsare in different sites), which can cause configuration and inventory problems.To avoid these problems, switch from Use All Detected Servers to UseSpecified Servers.

[Editor's Note: For more on these issues, see Windows NT Magazinetechnical support forums at, Microsoft TechNet,CompuServe's WINNT forum, America Online's Windows NT area, The MicrosoftNetwork, and Microsoft's Internet servers-- and The Microsoft Knowledge Base is athttp://]

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like