LANDesk Inventory

Scanning custom information

The Windows inventory scanner utility automatically scans the device’s registry for custom information. When you configure a device, the following keys are installed into the registry:

  • HKEY_LOCAL_MACHINE\SOFTWARE\INTEL\LANDESK\INVENTORY\CUSTOM FIELDS

The inventory scanner always scans the registry for the Custom Fields key and picks up any information it finds under that key. It then enters the custom information into Custom fields in the core database. The information in the Custom Fields keys can be whatever you need it to be. When you view this data in the console, it displays under Custom fields.

The inventory scanner reads two data types:

  • REG_SZ
  • REG_DWORD

NOTE: Custom field subkeys
The inventory scanner doesn’t scan for any subkeys below Custom fields.

NOTE: Custom fields string length
ASCII character strings must be no longer than 255 characters. Multi-byte character set (MBCS) strings must be between 127 and 255 characters.

Specifying the software scanning interval and history

You can specify when to scan a device’s software and how long to save the inventory changes history log on the core server. These intervals apply to every device.

NOTE: A device’s hardware is scanned every time it boots and is connected to the network.

To specify the software scanning settings
  1. In the console’s network view, click Configure > Services > Inventory > Software.
  2. Specify the frequency of software scanning.
  3. Specify the number of days to save the history.

NOTE: The core server and software scanning
This feature affects only devices. It doesn’t affect the core server, which is always scanned daily.

Scanner command-line parameters

You can add command-line parameters to the inventory scanner’s (ldiscn32.exe) shortcut properties to control how it functions.

The following table lists the scanner’s command-line parameters:

Option Description

/NTT=IP

Core server’s IP address or DNS name and UDP port. For example, /NTT=123.123.123.123:5007 or /NTT=CORESERVER:5007.

/UDP

Scanner communicates via UDP instead of TCP. Combine this switch with /NTT=[IP].

/NOUI

Forces the scanner to run with no user interface.

/i=inifile

Provides the path (HTTP, UNC), or a drive letter to the master LdAppl3 file. ldiscn32.exe also copies the LdAppl3 file found in this location to the device’s localLdAppl3.ini file. The scanners compare the date of the master LdAppl3 with the local LdAppl3.ini; if the dates don’t match, the master file is copied locally.

/d=directory

Starts the software scan in the specified directory. By default, the scan starts in the root directory of each local hard drive.

/L

Sends the scan to the core server the device was configured from. When you use /L, the /NTT parameter isn’t necessary.

/sync

Forces a full scan, including a complete software scan. Full scan files can be several megabytes in size.

/n

Doesn’t search subdirectories.

/v

Verbose mode.

/Z=retry count

Specifies how many times the scanner will try to resend the scan.

/W=wait in seconds

Have the scanner wait the number of seconds specified before starting a scan.

/? or /h

Displays the command-line syntax help.

/s=servername

Specifies the core server to store the inventory data on.

/f or /f-

Forces a software scan regardless of the software scan interval set at the console. Specify /f- to disable a software scan regardless of the software scan interval set at the console.

/t=[path]filename

Copies the contents of the specified file to the core database. Use this option to enter inventory data from standalone devices or from separate inventory files.

/o=[path]filename

Writes inventory data to the specified output file.

/m

Creates a non-unicode ldiscan.mif file in the C:/DMI/DOS/MIFS directory. This file contains the inventory data discovered during the scan.

/muni

(ldiscn32.exe only) Creates a unicode ldiscan.mif file in the directory found in LdAppl3.ini file’s MIFPATH. This file contains the inventory data discovered during the scan.

/do16

Enables the 16-bit inventory scanner (inv16.exe) on managed devices.

Editing the LdAppl3.Template file

Information about the scanner’s inventory parameters is contained in the LdAppl3.Template file. This template file works with the LdAppl3 file to identify a device’s software inventory.

You can edit the template file’s [LANDesk Inventory] section to configure the parameters that determine how the scanner identifies software inventory. By default, LdAppl3.Template is located in this directory on the core server:

  • \Program Files\LANDesk\ManagementSuite\LDLogon

Use this table to help you edit the [LANDesk Inventory] section in a text editor.

Option Description

Mode

Determines how the scanner scans for software on devices. The default is Listed. Here are the settings:

  • Listed: Records the files listed in LdAppl3.

  • Unlisted: Records the names and dates of all files that have the extensions listed on the ScanExtensions line but that are not defined in the LdAppl3. This mode helps discover unauthorized software on the network.

  • All: Discovers files with extensions listed on the ScanExtensions line.

Duplicate

Records multiple instances of files. Set the value to OFF to record only the first instance, or ON to record all detected instances. The default is ON.

ScanExtensions

Sets the file extensions (.exe, .com, .cfg, etc.) that will be scanned. Use a space to separate the file extensions. By default, only .exe files are scanned.

Version

Is the version number of the LdAppl3 file.

Revision

Is the revision number of the LdAppl3 file; helps ensure future compatibility.

CfgFiles 1-4

Records the date, time, file size, and contents of the specified files. You can leave out the drive letter (for example, c:) if you want to search all local drives. You can specify more than one file on each of the four lines, but the line length is limited to 80 characters.

Separate path names on the same line by a space.

The scanner compares the date and size of the current file with that of the previous scan. If the date and size don’t match, the scan records the contents of the file as a new revision.

ExcludeDir 1-3

Excludes specific directories from a scan. You can leave out the drive letter (for example, c:) if you want to exclude all local drives. Enumeration must start at 1 and be continuous. You can use environment variables in this format: “%varname%”. You can use a wildcard (*) in a “begins with” form only ( ExcludeDir=%windir%\$NtUninstall*\ ). You must end each line with “\”.

MifPath

Specifies where MIF files are stored on a device’s local drive. The default location is c:\DMI\DOS\MIFS.

UseDefaultVersion

If set to TRUE, the scanner reports a match when a file matches an exact filename and file size entry in LdAppl3 on filename only (the version will be reported as EXISTS). This can cause some false positives for applications that share a common filename with an unknown application. In the as-delivered LdAppl3.Template file, this parameter is set FALSE; that is, only add an entry if the match is exact. If the parameter is missing, it defaults to TRUE.

SendExtraFileData

If set to TRUE, sends extra file data to the core server. The default is FALSE. This means that by default, only path, name, and version are entered into the core database.

Making inventory scan changes available to clients

When you make changes to the LdAppl3.template file, you need to deploy the changes to managed devices in order to change the way inventory scans run. The changes will be applied if the /i scanner command line parameter is used on your managed devices.

To edit the LdAppl3.Template file
  1. From your core server, go to the LDLogon directory and open LdAppl3.Template in Notepad or another text editor.
  2. Scroll down to the parameter you want to update and make your changes.
  3. Save the file.
To deploy scanning changes to managed devices
  1. Edit and save the LdAppl3.Template file.
  2. In the console, click Tools > Reporting/Monitoring > Manage Software List.
  3. Click the Make Available to Clients toolbar button to make the most recent changes available to devices the next time they run an inventory scan.

Adding BIOS text strings to the core database

There is a section in the LdAppl3.Template file called [BIOS Info]. This section provides the capability to search for information inside the BIOS of a computer. You can add one or more entries to the [BIOS Info] section. These entries define new keys in the core database and provide parsing instructions to the inventory scanner. The parsing instructions identify where to look in the LDBIOS.TXT file for a specific string. Using these instructions, the inventory scanner populates the core database with the strings from the LDBIOS.TXT file.

The inventory scanner uses a parsing method to locate BIOS information. This allows you to search for information one or more lines away from a specified text string. Such a search would enable you to locate random letter and number combinations assigned to computer hardware.

Text strings in LDBIOS.TXT

If you run the inventory scanner with the /do16 command line parameter, during an inventory scan, the text strings available in the BIOS are exported to a text file called LDBIOS.TXT. LDBIOS.TXT stores all of the strings that are created by the scanner. If you want to store this information in the database, you can store it as a configuration file by using the CFGFILES parameter in Ldappl3.ini.

Sample of BIOS entries in the LdAppl3.Template file

Here is an example from the [BIOS Info] section in the Ldappl3.Template file:

[BIOS Info]

StringLength=4

Key = BIOS – Manufacturer

Parameters = AllValues,FirstInstance

Value = AMI|American Megatrends::AMI::BIOS – AMI

Value = Copyright.*Dell::Dell::BIOS – Dell

[BIOS – AMI]

Key = % – Version

Parameters = FirstValue,FirstInstance

Value = BIOS Version \(.*\)::\1

Key = % – Copyright Notice

Parameters = AllValues,AllInstances

Value = ©.*\(AMI|American Megatrends\)

[BIOS – Dell]

Key = % – Version

Parameters = FirstValue,FirstInstance

Value = BIOS Version \(A.+\)::\1

Value = BIOS Version: \(A.+\)::\1

Key = % – Copyright Notice

Parameters = AllValues,AllInstances

Value = ©.*Dell|[Cc]opyright.*Dell

Understanding BIOS entries

Entries in the [BIOS Info] section consist of the following:

  • [Section name] Identifies a new component in the core database.
  • StringLength= Specifies the minimum length of the strings to search for.
  • Key= Identifies the class and attribute name of the information returned from searching the LDBIOS.TXT file.
  • Parameters= Specifies the search criteria that tells the scanner where and how to search for values associated with a specific key.
  • Value= Specifies the value that is searched for in the BIOS. A value has three main sections, each separated by two colons (::). The strings identified in the value entry are case-sensitive. All characters in the value, even spaces, are included in the search unless they are an operator.