Novell is now a part of Micro Focus

Requirements and Limitations of ZENworks 2 Inventory

Novell Cool Solutions: Feature
By Dan Rusek

Digg This - Slashdot This

Posted: 19 Jan 2000

Editor's note: This is a part of an excellent overview/cheat sheet called ZENworks 2 TechNotes, that answers many of the questions this very experienced Systems Engineer has been asked about ZENworks 2. Since we've had so many questions about Inventory, we thought you might like to see Dan's notes about it, in case he gives a quick answer to that weird question that's been bugging you. Consider this a free visit with one of the best. And stay tuned for more selections from Dan's opus, coming in future articles.

Inventory Components

  • Inventory server needs a minimum of 128 MB of RAM.
  • Sybase Database is a scaled-down version of the full-blown product. It is stored as SYS:ZENWORKS\Database\ZENINV.DB.
  • Sybase NLM is DBSRV6.NLM and is loaded by SYS:\ZENWORKS\DATABASE\SYBASE.NCF.
  • An "empty" ZENworks 2 Sybase database takes about 9 MB (just after having installed the product).
  • With 500 workstations, it uses about 60 MB.
  • During the development of the product, a test was done in the Super-lab with 6000 workstations. Once the inventory of all those workstations had been recorded in the Sybase database, its size was about 430 MB.
  • Max size -- 2 GB.
  • ~20,000 workstations -- HW info only.
  • ~5,000 workstations -- HW, SW, & DMI info.
  • Only one database is needed unless a very large number of workstations are being inventoried.
  • Cannot roll up multiple databases.
  • SQL ID -- zenreader, SQL password -- zenworks.
  • GPExport is an Inventory Export tool that can export the Sybase data into a comma delimited text file. For more info, see the feature article about GPExport in ZENworks Cool Solutions.
  • The ZEN2 database schema is CIM compliant. For more info, see the feature article about the ZENworks 2 Database Schema.


  • Consists of the ZENINV.NLM -- loaded via SYS:System\Gatherer.ncf.
  • Gathers information from the scanner, formats it, combines it into a single file on the server (#.STR), and then gives it to the Storer to be inserted into the database.
  • .STR file is stored in <volume_name>:ZENworks\strdir


  • Consists of two Java programs which are loaded via Master.ncf & Storer.ncf
  • Must be loaded in that order, since Storer relies on Master.
  • To view at server to insure they're running, type Java --show.


  • Ntscan32.exe (NT) & Winscan.exe (9x) are server based files, but are run at the workstation.
  • 95/98 -- probes the hardware.
  • NT -- looks in registry.
  • Will work over IP or IPX, but it will try to use IP first.
  • DMI -- Have to have DMI Service Layer 2.0 support.
  • AOT is supplied on ZW CD that will update your existing DMI Service Layer to 2.0 (it appears as though you have to have the manufacturer's DMI ?utility' first).
  • A DMI scan using the vendor specific DMI Service Layer can provide up to 4x more info that our scan.
  • Tries to match file name, size, and date to that stored it the LDAPPL.INI file. (We get ldappl.ini file from third-party and there are roughly 8,000 applications in the file.)
  • Scanners have very low utilization impact on the workstations while they are running.
  • In order for inventory to work properly at the workstation, the Workstation Manager component that comes with the ZW2 client image MUST be installed. An application object is also created by the ZW2 install that will push the necessary files to the workstation to allow inventory to function properly.
  • The required helper files are WMINV.DLL & WMINV95.DLL.
  • If they are the files from ZW 1.1, inventory won't work.
  • Workstation object needs to have rights to winscan.exe to collect Inventory data.

Inventory Process

  • Inventory scanner runs at workstation (WINSCAN.EXE for Win9x, NTSCAN32.EXE for WinNT). Three pertinent files are created by the workstation scanner in the %TEMP% directory:
    1. SCAN.TXT -- Contains HW & SW scan info
    2. MINFO.INI -- Contains Minimum information to be input into NDS workstation object inventory
    3. DMISCAN.TXT -- Contains DMI Scan info

      These files are updated at every scan
  • Other pertinent files stored in %TEMP%:
    1. LDAPPL.INI -- contains template for software scan. (Copied to workstation from server so it can be parsed quicker).
    2. LDIscan.CFG -- stores information on how to communicate with the Gatherer.
    3. ZENERROR.LOG -- contains a log of errors which occurred during the scan. (If DMI Service layer does not exist on the workstation, an entry in this file is expected. No biggy).
  • Communication from the workstation to the server can be IP or IPX.
  • WM95INV.DLL helper file updates NDS with MINFO.TXT data.
  • Scanner contacts Gatherer process (server side -- ZENINV.NLM) and the Gatherer combines the data from each workstation and creates a single file which is then placed in the SYS:\ZENWORKS\STRDIR directory (i.e.. 1.STR).
  • The SYS:Public\Gatherer.ncf file loads ZENINV.NLM and gives the path to the Directory to store the files.
  • The Storer Process reads the *.STR files created by the Gatherer and feeds them into Sybase.
  • This process could be scheduled if desired via a CRON process to upload new records during the evening and then unload when complete.
  • SYS:Public\ZENworks\JAVA\Storer.ncf loads the Storer JAVA application with the path to the directory where the gatherer has placed its files (path must match the one in the Gatherer.ncf file).
  • Communication between the Storer and Sybase is via IP and JDBC -- in most cases, they will both exist on the same server, but they don't HAVE to.
  • The Storer has its own screen at the server so you can monitor as records are fed into the database.

Inventory Notes

  • To split up the processes between multiple servers, you have to install the entire Sybase components to a server using the ZENworks 2 SETUP.EXE, but then comment out/remove those items from the AUTOEXEC.NCF that are not desired.
  • The database can actually be moved from one server to another by shutting down all the Sybase components and then copying the ZENINV.DB file from one server to another.
  • We do a full inventory every time, we don't do an incremental update nor do we track changes to the database.

Software Inventory

  • Configuring software packages to scan for is determined by the LDAPPL.INI file.
  • To edit it with the GUI utility in NWAdmin, select any workstation policy package first, then go to Tools, Workstation Remote Management, Edit Software Inventory List.
  • From there, one can select those applications to scan, add a new application, etc?
  • This process updates SYS:Public\ldappl.ini file.

Adding applications to the Software Scan Policy (LDAPPL.INI)

  • In NWAdmin, highlight a workstation policy package and then select Software List Editor from the Tools pull down menu.
  • This procedure allows you to the access and edit the LDAPPL.INI file using a Java utility.
  • You can also manually edit the LDAPPL.INI file in SYS:Public\ZENworks.
  • To add more application entries, you will need to know the size of the file you wish to add.
  • To get an accurate size of the file to be added, open a DOS window and run a DIR to obtain the correct file size of the executable.
  • Currently, there can only be one LDAPPL.INI but a change to allow multiple files is being considered for the next revision.

About the Author

Dan is a Senior Systems Engineer for Novell working out of the Cleveland Sales office covering Northeastern Ohio. He has been working with ZENworks since its early days as NAL 1.0 and is currently the regional ZENworks Product Specialist. He says ZENworks is his "favorite product to demonstrate because it clearly shows the power of NDS and how a directory can reduce the cost of owning a network."

Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions.

© Copyright Micro Focus or one of its affiliates