
Introduction to ICF
===========================================================

Copyright (c) 1994  LanTelligence Corporation  All rights reserved
Address any correspondence to 70274,46.

This is an update to our ICF program.



HELLO
============================================================
Welcome to the Inventory Capture Facility (ICF) by LanTelligence 
Corporation.   It can:

     - report what programs are installed (user-defined database)
     - show what microchannel boards are installed (user-defined)
     - find files on all drives, local and remote
     - report on memory, cmos, and other system info
     - report on network data
     - function as a super-file-finder
     - capture config files (autoexec, config.sys, ini files)
     - capture user-specified text files, on any drive
     - save all info in dbase, lotus 1-2-3, or ascii delimited files
     - operate virtually identically on DOS and OS/2 systems!
     - record manually-entered data (i.e. printers, ID info, etc.)
     - function completely AUTOMATICALLY - no scheduling
     - be installed on a file server / login scripts
     - be passed from PC to PC on a floppy for standalone use
     - uniquely name output data files, one per PC
     - operate completely from the command line



It is also one of the most inexpensive, yet powerful, inventorying
packages available. If you're tired of being asked to pay high per-PC
prices just to take inventory, look no further!
        
ICF collects inventory information from PC's and writes the data to
industry standard file formats so that it can be read and processed by any
popular database or spreadsheet package. Maybe you've developed (or were
thinking about developing) a home-grown inventory system for your company
or clients, or you've used one of the commercially-available products.
Instead of being limited by your own time or the limited reports provided
by others, the sole purpose of this program is to give you the data you
need in the format you need, so you can use your favorite tool to get
those reports done and move on to something else.

This program is invaluable for organizations that want to perform
company-wide audits of PC software and hardware. While the
inventory-collecting abilities will make the corporate PC staffs' jobs
easier,  ICF can also display the results of software identification
and file searches on the screen, making it a valuable utility for
users as well.

This short guide is a brief description of the program. It should
provide you with the necessary details to determine if ICF is for you
and your organization. It also provides sample commands you can try
with the shareware version posted here. Address inquires, comments,
and suggestions to LanTelligence Corporation Compuserve ID 70274,46
or:

        LanTelligence Corporation
        P.O. Box 140627
        Miami, FL 33114-0627

You can also reach as on our BBS at 305-598-4788.


This document is divided into two sections. Section I contains
information regarding ICF, its capabilities and benefits, and price
information for the different licensed versions available. Section II
is a brief ICF Quick Guide to allow you to use and evaluate ICF. Note
that there are many additional options and strategies for using ICF
than can be described here.





SECTION I - ABOUT ICF

CAPABILITIES
========================================================
A quick list of what ICF can do...

FLEXIBLE OUTPUT OF DATA - Data collected from ICF can be displayed on
the screen or output to dBASE (.DBF), Lotus 1-2-3 (.WK1) or Ascii
delimited files. Just about every major spreadsheet and database
program either supports these formats directly or provides conversion
tools to bring the data in.

NATIVE OPERATING SYSTEM SUPPORT - ICF is available in versions for DOS
and OS/2. Use the DOS version for DOS and Windows systems. If you have
OS/2 workstations, you have an identically functioning version for
those as well! And the OS/2 version is native, so no DOS-box is
required (i.e. OS/2 servers).

COMMAND-LINE DRIVEN  - The program is entirely command line driven. 
There are many commands and options available to control how ICF 
operates. 

POWERFUL INVENTORY AND DATA COLLECTION ABILITIES  - This includes
being able to collect the following information:

MAIN COMPUTER INFORMATION - Processor, memory (different types),
serial and parallel ports, mouse and video information.

CMOS INFORMATION -  Settings as defined in CMOS tables, including
floppy and hard drive types, memory, etc.

ADD-ON HARDWARE - If you have microchannel (MCA) computers, ICF will
dynamically report on all boards installed in them. This does not
require the reference disk!

INSTALLED SOFTWARE - Most important to some organizations attempting
to maintain legal compliance, ICF collects data about all software
found on the computer. Best of all -- you control what it searches
for!

PHYSICAL EQUIPMENT - This refers to standalone, physical equipment
such as displays, modems, etc.  If the data is entered by the user or
ICF administrator, ICF will automatically merge it with all the other
data collected.

CONFIGURATION FILES - The complete text of files are captured,
including CONFIG.SYS, AUTOEXEC.BAT or STARTUP.CMD files, NET.CFG and
SHELL.CFG, and .INI Files such as LANMAN.INI and WIN.INI. You can also
specify up to 6 additional files to search for and include.

AUTORUN FACILITY - ICF can be set up to automatically run only when
changes are detected to the configuration. You can run it from
AUTOEXEC.BAT, STARTUP.CMD, or network logon scripts and it will
automatically collect inventory data if the configuration has been
changed!  THIS IS A GREAT FEATURE!  Unlike other programs where you
have to set up arcane collection schedules, ICF can run everyday and
take just a few seconds to determine if a configuration collection is
necessary!  If nothing substantial has changed, the user gets control
of the PC right away (or the login script or Autoexec fil continues
processing).

NO TSR IMPLEMENTATION! -  Forget about having to load more TSR's to 
collect your inventory data. ICF is a standalone program that doesn't take 
up precious memory or conflict with other resident programs.


HOW TO GET STARTED USING ICF
========================================================
Shareware versions of ICF for both DOS (versions 2.0 through 5.0) and
OS/2 (versions 1.1 through 2.1) are available on CompuServe and
popular BBS's for downloading. Most commands and options are
functional in the shareware version. Use the Quick Operation Guide
below to learn sample commands in order to test and use the program.


IF YOU NEED HELP
========================================================
Send an Email to us on CompuServe at 70274,46.


IF YOU LIKE ICF
========================================================
Order a copy!  ICF can be used on a single computer, but the benefits 
associated with it are really gained when used on many or all 
computers in your organization. ICF is priced aggressively to make it easy 
to obtain it (especially in relation to similar products!). An order form 
appears at the end of this document.

For information on prices and licenses, please refer to the file ORDERING.TXT.


WHAT IF YOU DON'T LIKE ICF
========================================================
Well, we tried.  You can sent  us a letter or Compuserve Email indicating 
why you didn't like it, or what changes must be made in order to make you 
a customer. Of course,  you may have no need for a program with these 
capabilities. But then you probably wouldn't have read this far, anyway!
Above all, we need your feedback.


LICENSE AGREEMENT FOR SHAREWARE VERSION
========================================================
You are permitted to use the Shareware version of ICF for 30 days starting 
from the first day of use to determine if ICF is suitable for your use. After
30 days you must purchase one or more Licenses as described above if 
you want to continue using the program.

The Shareware version may be distributed to others as long as no profit or 
money is involved in the transaction, excluding nominal distribution and/or 
duplication fees.



SECTION II - ICF QUICK OPERATION GUIDE
========================================================

(Please read the WHATSNEW.TXT file if one is present with this
package. It identifies the latest features that are not in this
document!!!)


Use some of the examples below to try ICF. But first a quick summary is in 
order. The following major commands are available:

        PROGRAMS - identifies programs installed on the computer
        STATUS - detailed list of computer status
        FILES - finds any or all files
        AUTO - performs STATUS command only if configuration changes


The general format for running ICF from the command line is:

        ICF command /option1 /option2 ...


Before we get into details, let's review the most powerful command:
STATUS. The command

ICF STATUS /DBASE /LANDRIVES /FINDEXTS /PROGINFO /FILENAME=$TEMP /UPF

will perform a full inventory collection, send the output to an dBASE
file, include Lan (remote) drives in the program scan, include
unrecognized programs in the output (/Findexts), include all program
information (/Proginfo), and assign a unique name to the output file
(so that it won't conflict with others). The /UPF means UnPackFields,
which will result in each data item to be output in its own field.


Most commands output to the screen by default. If you want the data saved 
in a file, specify either the /DBASE, /LOTUS or /ASCII options. Each  ICF 
command generally produces a data file with a different layout or file 
structure.  In addition to these, there are over 200 other options that 
control the operation of ICF. Options can be specified on the command 
line, in the ICF environment variable, or in a ICF.INI file (or a combination
of all three). These have a cumulative effect that permits extensive 
customization. For example, if ICF is utilized on a LAN then a shared 
ICF.INI file will be read from a public disk. Then user-specified options are 
processed either from their own .INI files, environment variables, or the 
command line.


EXAMPLES - PROGRAMS COMMAND
========================================================

ICF  PROGRAMS

Identifies programs found on all local drives. It uses files called 
ICFPROG1.DBF through ICFPROG9 (up to 9 files at once) to perform the 
identification process. Demo versions of these are supplied with the this 
version. Since these are DBASE files, you are free to modify these to add 
your own software. Paid license versions of ICF include the latest full 
database.

ICF PROGRAMS  /DBASE /DRIVES=C

Same as above, but only search drive C: and save the data in a DBASE 
file.

ICF PROGRAMS  /LANDRIVES  /LOTUS

Searches for programs on all drives, including remote drives, and saves 
the data in a LOTUS 1-2-3 file.

ICF PROGRAMS  /FINDEXTS

There are different strategies associated with capturing software 
information. One is knowing all the programs you are looking for before 
you do the scan. Another is capturing the .EXE and .COM files to do a 
matchup after the data has been collected. ICF supports both. The above 
command uses /FINDEXTS to specify that .EXE and .COM files that are not 
matched so software in the database (ICFPROGn.DBF) should be included 
in the output file as well so that the administrator can identify programs 
unknown at scan time.

ICF PROGRAMS /FINDEXTS /PROGINFO

The /PROGINFO option includes file size, date, and time with the collected 
information.




EXAMPLES - STATUS COMMAND
========================================================

ICF  STATUS

Displays all status information on the screen.


NOTE: File structures using /DBASE, /LOTUS, or /ASCII options:

Because of the requirement to process a flexible amount and 
variety of data depending on what information is being collected, 
the format of a DBASE, LOTUS, or Ascii delimited file consists of 2 
fields. The first field is the ID field and contains a number 
representing the type of item stored in the VALUE field. The second 
field is the VALUE field and contains the actual VALUE (i.e. number 
or character string) of that item. 

If you want to process these files or merge them in with master 
databases of some sort, you will need to know what the ID's mean. 
You can guess, but there are 2 ways to save you some time. One 
is simple: buy the program and get the documentation. But-- as we 
want you to be able to evaluate ICF, you can also specify the /DESC 
option. This will result in a third field created in the file, which will 
be filled in with a generic description of each particular item.

While using this structure may seem unwieldy, it offers several 
advantages:  1. Items (especially character strings) can be of fairly 
long length.  2. If you have a configuration management / tracking 
program you can easily read these files without learning lots of 
different file structures.  3. Future versions of ICF can include more 
additional types of status information without changing the 
structure (just more ID's will be created).  4. It supports status 
information that is repeated, such as software programs and 
installed boards found, lines from configuration files, etc.



ICF  STATUS  /ASCII  /NST:P

Same as above, but saves the data in an ascii delimited file and the /NST 
(NoStatus) option causes the Program search to be skipped.  Separate 
other information categories to be skipped by using the following letters 
separated by commas:

        B = boards      M = memory      
        A = main        O = mouse
        I = id's        P = programs
        L = lan         D = diskinfo    
        T = text files  W = ini files
        C = cmos
        
* Note: Boards are only detected in Microchannel computers. The 
ID's are displayed along their descriptions. The descriptions come 
from files ICFMCA1.DBF through ICFMCA9.DBF. You can add your 
own if necessary.


ICF STATUS  /DBASE /FILENAME=FILE1 /NST:P,D,W,T

Perform the status command, save the data in a dbase file named 
FILE1.DBF, and skip the status check for programs, disk information, ini 
files, and text files.

ICF STATUS  /DBASE  /USERNAME=SMITH 

Store the status information in a dbase file and set the user name to 
SMITH.
        
ICF STATUS  /DBASE  /USERNAME=SMITH  /FILENAME=$USERNAME  
/OUTDIR=S:\ICF

Same as above but the $USERNAME results in a file name consisting of 
the first 8 characters of the specified user name.  The file is saved in 
S:\ICF directory.

ICF  STATUS  /ASK  /ASCII

ICF can collect data on physical, stand-alone equipment that cannot be 
recognized programatically. It does through the /ASK option. If this option 
is specified on the STATUS command, a screen appears permitting you to 
enter information describing the user (name, location, notes),  and make, 
model, serial numbers and notes for computers, modems, displays, 
printers, etc.  This information is then saved in a hidden file (by default: 
C:\AUTORUN.DAT and can be changed with an option) so it is read 
automatically each time the STATUS command is used.



AUTO COMMAND
=========================================================

The AUTO command is an extension of the STATUS command, shown in 
the example below:


ICF  AUTO  /BATCH

The AUTO command is an extension of the STATUS command, and ICF 
has several key features that make it easy to use. The AUTO command will 
tell ICF to quickly check for any configuration changes (including software!)
made to the computer). Only if changes are detected will a full status 
check be performed.

ICF also provides several options that are "shortcut" options. They actually 
set many other options for you so you can quickly use ICF to capture status 
information.

One shortcut option is /BATCH. Among other things, this option 
suppresses many messages from being displayed on the screen, and 
signals data to be saved in .DBF format if no other filetype is specified.  
The overall effect is to make it easy to automate inventory collection by 
placing the following in an AUTOEXEC.BAT, STARTUP.CMD, or logon 
script file:

ICF  AUTO  /BATCH






EXAMPLES - FILES COMMAND
========================================================

ICF FILES

Displays on the screen a listing of all files found on all local hard drives.

ICF FILES  D  /ASCII

Saves a record of all files found on D: in an ascii delimited file.

ICF FILES  EXE  /LOTUS  

Saves a record of all files with "EXE" in the filename in a 1-2-3 worksheet. 
Note that ICF will normally search the entire filename for the specified 
text. In this example, "ICFEXE.DAT" would also be matched. This special 
processing usually makes it simpler to specify what files you're looking 
for. It also makes for a powerful file finder, as the next example 
illustrates.

ICF FILES  SAM  /LANDRIVES   /FILENAME=$TEMP

Finds files that have "SAM" anywhere in the filename.  Remote drives are 
included in the search.  The special filename $TEMP specifies that the file 
should be named with a unique number so it can be saved on a LAN drive.





OTHER OPTIONS FOR FILES COMMAND
============================================================

Some other options you may want to try with the FILES command are listed 
below:

        /SKIPDRIVES     skips specified drives from being searched
                        (i.e. /SKIPDRIVES=DE)
        /LANDRIVESO     includes ONLY remote drives in search
        /NODESCEND      do not descend directories
        /NSD            don't show <DIR> entries
        /DOSEARCH       use normal wildcard file matching
        /SORTE          sort by extension before displaying
        /TOTEXT         compute totals by extension
        /ALLEXT         include all extensions in TOTEXT report
        /TOTALS         display totals summary
        /NOALIGNEXT     don't align extensions in file display
        /PROTECTED      search for only hidden, system or RO files
        /NORMAL exclude protected files
        /BIGFILES       include only big files 
                        (controlled by /BIGFILESIZE)
        /SMALLFILES     include only small files
                        (controlled by /SMALLFILESIZE)
        /PAUSE          pause every screenfull
        /RINGBELL       ring bell when done (useful for batch jobs)
        /SIZEK          show file sizes in K units




OTHER GENERAL OPTIONS
============================================================

        /ASCII          produce ascii delimited output file
        /DBASE          produce dbase .DBF output file
        /LOTUS          produce lotus .WK1 output file
        /OVWR           overwrite existing data file
        /APPEND         append to existing data file (excl. lotus)
        /OUTDIR         use this drive\directory for output files
        /INDIR          use this drive\directory for input files
        /NEEDSPACE      check for req'd disk space before running
                        (/NEEDSPACE=50) specifed in K units
        /QUIET          suppress status messages
        /USERID specify userid for inventory collection
                        (also used for /FILENAME=$USERID)
        /USERNAME       specify username for inventory collection
                        (also used for /FILENAME=$USERNAME)
        /COMPUTERID     specify  computer id for inventory collection
                        (also used for /FILENAME=$COMPID)




* LOTUS, 1-2-3, and DBASE are trademarks of their respective companies.


