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
- In the console’s network view, click Configure > Services > Inventory > Software.
- Specify the frequency of software scanning.
- 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:
|
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
- From your core server, go to the LDLogon directory and open LdAppl3.Template in Notepad or another text editor.
- Scroll down to the parameter you want to update and make your changes.
- Save the file.
To deploy scanning changes to managed devices
- Edit and save the LdAppl3.Template file.
- In the console, click Tools > Reporting/Monitoring > Manage Software List.
- 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.