Quantcast
Channel: Ivanti User Community : Document List - Inventory
Viewing all 397 articles
Browse latest View live

Self Electing Subnet Services ( SESS ) - Windows local user account CSEP_ALS_SVC

$
0
0

Self Electing Subnet Services ( SESS ) and its feature Agentless Scanner creates a Windows local user account CSEP_ALS_SVC. A local Windows user account CSEP_ALS_SVC is created as per design of the Ivanti Endpoint Manager and the account CSEP_ALS_SVC is used to perform the Agentless Scanning. A local Windows user account CSEP_ALS_SVC does not belong to any groups. A local Windows user account CSEP_ALS_SVC has an unknown randomly generated password.

 

REFERENCE

 

About Agentless Scanning in LDMS 2016.3

 

 

screenshot epm sess agentless scanner.png

 

 

screenshot epm agentless windows local accountc sep_als_svc.png

 

 

C:\>net user

 

User accounts for \\WIN_WORKSTATION

 

Administrator            CSEP_ALS_SVC             Guest

 

The command completed successfully.

 

 

C:\>net user csep_als_svc

User name                    CSEP_ALS_SVC

Full Name                    CSEP_ALS_SVC

Comment

User's comment

Country/region code          000 (System Default)

Account active               Yes

Account expires              Never

Password last set            2018-01-15 17:50:50

Password expires             2018-04-15 17:50:50

Password changeable          2018-01-16 17:50:50

Password required            Yes

User may change password     Yes

Workstations allowed         All

Logon script

User profile

Home directory

Last logon                   2018-01-15 17:50:50

Logon hours allowed          All

Local Group Memberships

Global Group memberships     *None

The command completed successfully.


Inventory scan is not working and error in event viewer : 'Unable to find a valid license'

$
0
0

Description:

After the inventory scan, the information cannot update to console. You can see the SCN file is remain in ldscan folder after you enable the storage folder.

Check the event viewer, there is error : 'Unable to find a valid license'.

 

Resolution:

1. Check the licenses file under path: C:\Program Files\LANDesk\Shared Files\Keys

There are three files with .crt, .cer and .key existing. And the files name are same with the CertName in registry:

HKEY_LOCAL_MACHINE\SOFTWARE\LANDesk\ManagementSuite\Setup

2. Open the .key file with notepad, check the Computer=<computerName>, computer name is NOT FQDN.

The name same with the CoreServer in registry:

HKEY_LOCAL_MACHINE\SOFTWARE\LANDesk\ManagementSuite\Setup

 

2.png

 

Apply:

LDMS 9.5

LDMS 9.6

LANDesk Scanner Behavior while scanning System Folders

$
0
0
 
 
 
LANDesk Scanner Behavior while
Scanning files in System Folders
Prepared by Phil Ottesen
LDMS 9.5 9.6

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
                              Contents
 
Introduction…………………………………………….2  
 
Assumptions…………………………………………….2
 
LANDesk Scanner Behavior………………………………………………2
 
Conclusion……………………………………………...3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

Introduction

 
This Article discusses the LANDesk Scanner when scanning the system folders.
 
 

Assumptions

 
               This article assumes that the reader is familiar with the LANDesk Management Suite. 
 
 

The LANDesk Scanner Behavior

 
 
The LANDesk Scanner when scanning for files in the system folders will report the file version of the files the Operating systems is using.  The version of the file may not be the version of the file that exists in a specified path.  This is because the Operating system has pointers on files that are in the system folder.
 
The scanner will return the version of the file that is in use by the Operating System and not necessarily the version of the file in the specified path.  
 

 

Conclusion

 
This Article applies to LDMS9.5, LDMS9.6
 
 
 
 
 
 

About LANDesk Software

 
Simple IT environments are a thing of the past. IT departments juggle too many tools from too many vendors while facing pressure to cut costs, reduce risk and boost productivity. Workers are adding smart phones and tablets to PC or notebook use, dramatically increasing the number of endpoints and operating systems that must be managed. Organizations need intelligent, integrated control over diverse systems and devices.
 
Customers worldwide use LANDESK®systems lifecycle management, endpoint security and IT service management (ITSM) solutions to simplify IT complexity and manage mobility “mayhem;” discover, track and safeguard assets and endpoints; and enable IT staff to improve service levels—all while reducing costs and requiring less infrastructure.
 
An IDC study found that on average, LANDesk customers realized a three-year return on investment of 698% for their deployed LANDESK® solutions—a nearly sevenfold return. The average payback period to recover the initial investment averaged a short 5.1 months.
 
 
 

Unable to Find Certain Columns When Creating A Query

$
0
0

Problem:

Unable to find certain columns when creating a query, but you are able to see those columns in the device inventory and their values. Inventory has been working fine.

 

e.g. Customer wants to create a query which lists all devices with less than 500MB available storage on their drive C, so he wants to select Computers | Mass storage | Logical Drive | Available Storage. The query looks like the below screenshot.  However he could not find the column "Logical Drive"  or anything beneath it at all. Several other columns went missing.

workingquery.png

Cause:

It is possible that the database has corrupt entries which "blocks" the correct one for query creation.

 

Solution / Workaround:

Use Dbrepair.exe and Dbutil.exe to clean the corrupt data and rebuild components. Detailed steps of using these tools are described in What is DBRepair.exe and Coredbutil.exe? How do I use DBRepair.exe and Coredbutil.exe? This article will only lists steps relevant to resolving this issue.

 

  1. Close all web consoles, remote consoles and the core console
  2. Turn off the Landesk Inventory Server service.
  3. Download the correct version of dbrepair tool to your core server from Database Repair Utility (DBRepair.exe download). Copy the file to \ManagementSuite directory.
  4. FollowWhat is DBRepair.exe and Coredbutil.exe? How do I use DBRepair.exe and Coredbutil.exe? to run Dbrepair.exe as administrator to clean the corrupt data. Do a snapshot before you run clean operation to keep custom data from being deleted. See https://community.landesk.com/support/servlet/JiveServlet/download/2297-32-29883/UsingSnapshotInDbrepairRev1.pdf for more info regarding snapshot function.
  5. Follow What is DBRepair.exe and Coredbutil.exe? How do I use DBRepair.exe and Coredbutil.exe?  to run Dbutil.exe as administrator, select Build Components function. Wait until it is finished.
  6. Start LANDesk Inventory server service.
  7. Access core console, and verify if the issue persists.

 

 

Useful Links:

Database Repair Utility (DBRepair.exe download)

What is DBRepair.exe and Coredbutil.exe? How do I use DBRepair.exe and Coredbutil.exe?

Running Inventory Scan on a Client Machine Results in Error Message "The Inventory Server Did Not respond"

$
0
0

 

Problem

 

Running inventory scan manually from a client machine results in the following error:

The Inventory server <CoreServerName> did not respond.

error.PNG

 

Causes

 

  1. Incorrect or old core server name in the registry. DNS can also be a culprit here.
  2. Default website bindings in IIS are not set properly (2016).
  3. Blocked or unapproved client access certificates (2016).
  4. Blocking port 5007 on the network or clients.
  5. Blocking port 443 for gateway (CSA) connected clients.
  6. Core server inventory service is stopped or wont start.
  7. The CSA has incorrect or no entries for the core server.

 

Solution:

 

 

Incorrect or old core server name

 

When you run the inventory scan on the client machines you may see the old core server name, an incorrect name for the core, or the IP address. The name can be either FQDN or short name.

invcore.PNG

To adjust the name of the core server that it is trying to reach, you will need to open the registry on that machine and modify the following key(s):

 

HKEY_LOCAL_MACHINE\SOFTWARE\Intel\LANDesk\LDWM\CoreServer (32-bit OS)

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Intel\LANDesk\LDWM\CoreServer (64-bit OS)

                

 

Typically, we use the FQDN or short name in here, but you can enter the IP address to test if DNS may be the issue when connected directly. NOTE: Only use the IP address as a test. If the machine connects through the CSA, having the IP address here will not allow for the scans to be sent to the core.

 

 

Test for DNS Issues (Modify the Windows Host File)

 

The best way to see if DNS is an issue is to place both an entry in to the short name and Fully Qualified Domain Name (FQDN) into the windows hostfile.  By default windows references the host file located at: c:\windows\system32\drivers\etc\hosts to resolve any name to an ip address. If an entry is not present in the host file (and generally nowadays most host files are blank so it usually isn't) then windows queries the primary DNS server to see if it knows where that name is located. If that DNS server does not know then the name will not resolve and if that DNS server does not answer then windows will query the secondary DNS server if specified.

 

Modifying the hosts file is simple browse to the file and open it in any text editor (word, notepad, notepad++, etc.)

 

 

 

Here we see an entry to LDMS2016Core and LDMS2016Core.shaundavis.local both using the same IP address. The DNS query will arrive to the host file by name so both entries are recommended to properly test for DNS issues as often times customers modify the agent configuration using Short Name and FQDN's, however if you are sure you are dealing with one or the other then only one entry is necessary. A good way to test if windows knows where to resolve a name is a simple ping:

 

 

Usually if DNS is causing an issue the ping will be able to resolve SN but not FQDN, in which case you can get away with only adding the FQDN entry to your host file for testing.

 

IIS Default Website Bindings (2016 only)

 

IIS has not been a concern for inventory in the past, but with 2016 we have changed that. We now send our scans to the core server using IIS applications.

NOTE: You can disable LDMS 2016 from using IIS to send its scans to the core server. If you have done so, please skip this and move to the next step.

 

In IIS on the core server, you want to check the default website bindings and make sure that they are set properly. Launch inetmgr.exe or search for IIS Manager in the windows start menu and expand the core server name under connections on the left side.

IIScore.PNG

Then expand Sites, right click on Default Web Site and choose Edit Bindings...

IISbinding.PNG

The site bindings window will display and you should see both port 80 and port 443 listed. Click on the port 80 entry and choose edit...

Make sure that you do not have an IP address assigned and there is not a host name entered in the host name box. It should look like this:

IIS80binding.PNG

Now go back to the site bindings window and select the port 443 entry and choose edit...

Again, make sure that you do not have an IP address assigned and there is not a host name entered in the host name box. You also need to have the SSL certificate set to the LANDesk Secure Token Server.

IIS443binding.PNG

Back at the main IIS page, open Application Pools. Verify that all of the app pools for LANDesk show as v4.0 for the .net version. See below screenshot for an example:

IISapppools.PNG

For additional IIS troubleshooting, please refer to IIS Troubleshooting and LANDESK Management Suite: 101

 

 

Blocked or Unapproved client access certificates (2016 only)

 

NOTE: If you have not enabled certificate-based client security on your core server this does not apply.

On the console, go to Configure>client access.

clientaccess.PNG

This window will list clients that have not been approved by default. Make sure to check the box for blocked to ensure you find the machine.

clientaccesscerts.PNG

Once you find the machine, highlight it and choose approve selected at the bottom.

 

NOTE: In some cases, there may be other problems with inventory such as a machine showing up multiple times, or unable to delete duplicates. Thus, creating an approval record but for a different machine other than requested, but has the same name. Try delete the record for the machine in client access. Then, run brokerconfig.exe from the agent machine, select send request. From this, you should now see a new client access cert to be approved. Approve the cert and retry running the inventory scan.

 

Firewall Ports need to be open (9.6)

 

Inventory sends its scans back to the core server using port 5007 if connected directly. If this port is blocked, either on the network, on the core server, or on the clients, inventory will not be able to send its scans back to the core server for processing.

 

You can validate if your core is listening for port 5007 by using Netstat. Run the below command in a command prompt:

Netstat -a -b | more

      

Look for LDINV32.exe in the results. There are going to be multiple so be sure to find the one shown below. If it is not listed for that port, it is likely to be blocked.

netstat.PNG

Please refer to Ports used by LANDESK Management Suite - Full List for more firewall ports.

 

NOTE:If you are connected to the CSA, please verify that the client machine is not blocking port 443 Outbound. A fast way to test this is to temporarily shutdown the firewall and then test inventory.

 

 

Inventory server service on the core

 

You will want to make sure that the service is running. It is advised to stop the service then start it again rather than just restarting it. The service can sometimes hang in memory and stopping and starting is know to help.

 

If the service wont start for you, be sure to check event viewer for any errors. You should also reactivate your core server to make sure that the license is up to date.

 

Below are a few documents that should help with troubleshooting the inventory service.

Unable to start LANDESK Inventory Server Service

Error in Application Event Log: Item cannot be found in the collection corresponding to the requested name or ordinal - Event ID 4100

Database Exception "The size of Table.Field is too small. Increase its size by at least xx." Event ID 4110

Ivanti Endpoint Manager and Endpoint Security - Inventory Frequently Asked Questions

      

 

 

CSA configuration

 

NOTE: Your external clients can also have any of the above issues as well. If this step doesn't fix the external machines, please attempt the rest of the above document for that device.

You can also get this error on your external clients when they run inventory. When this happens, you want to validate your CSA configuration, more specifically the host names tab under system. Be sure that you have your core server in there like the below example:

csahosts.PNG

You will also want to make sure that you have your core server certificate posted on the CSA. In the CSA, click on Manage core certificates and validate if you have your certificate there.

csacore.PNG

If you do not see the core certificate there, you will need to post it from the core server. On the core, click configure and choose Manage cloud services appliances...

corecsa.PNG

You can edit an existing one or enter your CSA details on the right side and click apply. Clicking apply will post the certificate to the CSA, click close and then yes to the prompt to restart the service.

 

Please refer to Quick Guide - Gateway (Cloud Service Appliance) Configuration for further CSA configurations.

.MINI Scan Files In LDSCAN Folder

$
0
0

Issue

 

Under Program Files\ManagementSuite\ldscan, there are many .mini scans that aren't being processed. This may impact other features that rely on inventory data, such as OS Provisioning

 

Workaround

 

Below is a powershell script that can be run on the Core. This script needs to be run in an elevated powershell session. After running this script once, an event subscriber is created that watches the ldscan folder and automatically renames all .mini files to .miniscn. This will only run as long as the powershell session remains active.

This script will not retroactively rename existing .mini files. For that, you can use this command in a command window, launched in the ldscan directory: ren *.mini *.miniscn

You can run this command to verify the subscriber was created: Get-EventSubscriber

 

You should see a result like below:

 

Screenshot_162.png

 

You can remove this subscriber by running this command: Unregister-Event -SourceIdentifier OnMiniScanStored

 

Ivanti is not responsible for any damages caused by this script, direct or otherwise. This is NOT an official Ivanti script, and is not supported. This script is provided as-is, with no guarantee or warranty of any kind.

 

Link: LDMSPowershellTools/RenameMiniFiles.ps1 at master · b1kjsh/LDMSPowershellTools · GitHub

 

Script is also attached.

SQL Script To Clean The EPM Database

$
0
0

Overview

 

The attached SQL Script is intended to help optimize the EPM database and improve performance of processes that rely heavily on it, like Inventory. Below details what specific portions of this script does.

 

This script IS NOT officially supported by Ivanti. Ivanti is not responsible for any damages, direct or incidental, caused by running this script. RUN AT YOUR OWN RISK!

ALWAYS take a FULL backup of your database before making any modifications to the database, including, but not limited to, running this SQL Script.

 

What it does

 

  • Clears Patch History
  • Clears Auditing History
  • Clears EPS Logging History
  • Cleans unnecessary files from file information tables
  • Rebuilds indexes
  • Runs CHECKDB
  • Creates a SQL checkpoint

 

Options

 

The below lines in the SQL script should be edited to better match your company's needs.

 

SET @DaysToKeepPatchHistory = 90 --Change 90 to how many days of patching history you want

SET @DaysToKeepAuditing = 90 --Change 90 to how many days of auditing history you want

SET @DaysToKeepSecurityAction = 90 --Change 90 to how many days of security actions from EPS you want

 

The value of 90 means the script will retain 90 days of the affected data (Patch history, auditing, EPS history). This should be changed to reflect your company's data retention and reporting needs/policies.

Disable WMI Scanner Rules from the Landesk Scanner Group

$
0
0

Description

Within some environments, there have been reports of the Landesk Scanner Group WMI rules causing the inventory scanner to take a substantial amount of time to complete.

 

Cause

The WMI calls within Tools > Data Analytics > Discovery Services > WMI Groups > Landesk Scanner are experiencing issues accessing the classes for the components within the scanner list.

 

Resolution

Within the 2017.1 SU1 release of Endpoint Manager, an option to disable this scan from running has been implemented. In order to disable it please complete the following:

 

1. Navigate to Configure > Services and select the 'Inventory' tab.

 

2. Click on the 'Advanced Settings' button and within the new window navigate to the 'Do WMI Rules' option. Alter the value from a '1' to a '0', click 'Set' and apply the changes.

 

Note: As seen in the graphic below, this will result in a restart of the Landesk Inventory Service.

 

wmiruless.gif


Inventory Scanner Switches

$
0
0
WinMac*nixDescription
/A=<N>Timeout Seconds
/BADisable BIOS string scan
/BBDisable printing of paths in the MIF file for files found
/D=<path>-d=<path>Begin software scan in this folder
/DMI1Use older DMI tables
/DMI1-Don't use older DMI tables
/DEBUGOutput debug information to ldiscn32.log file located in C:\Program Files (x86)\LANDesk\LDClient\Data
/F-F-fForce software scan
/F--f-Disable software scan
/GScan Services
-?-h or -?Displays help screen
/ITIMEOUTSeconds to wait for inv16.exe to complete. Min. 5, Max. 60
/I=<ldappl3>/l <ldappl3>Update ldappl3.ini from path

 

-i=<ConfName>Specifies the conf filename. Default is /etc/ldappl.conf
/K=<drive   letter>Scan a network (logical) drive for software
/LUse Server info stored in the registry. LDWM\CoreServer\InventoryServerPort
/L- Don't communicate with the Core server : Offline scan
/LDAP-Run scan without LDAP information including Primary Owner
/MGenerate MIF file
/MUNIGenerate Unicode MIF file
/MUSuppress error messages
-m <mode>set mac scan mode (listed, unlisted, or all)
/NNon-recursive software scan
/NHDon't do hardware scan * Warning, by design this removes device's HW *
/NOCDDon't get custom data form data
/NODLPrevent content file download
/NOUIDo not show UI
/NTT=<core:port>-ntt=CORENAMEUse TCP protocol. Core name can be host name or IP address
/O=<path>-o <path>-o <path>Create an output file
/PDSend Product Definitions to the core server
/PT-Disable thread priority decrease when on Win 9x or NT
/RLReset Logon User History and Logon Location History
/RSTART=<MaxTime>Start at a random time between 1 and <MaxTime> Time is in minutes
/RESTARTDo not schedule to run later if Core Server is not available
-RReset delta scan baseline file
/S=<Core Name>-c <Core Name>Core Server Name. Necessary when sending data to a core.
-stdoutInventory information is written to standard output
/SWSCANMODEALLScanner will use Mode=all for the software scan.
/SYNCSynchronize with core database record. Sends all data, not delta.
/T=<path>Transmit this output file to the core specified.
-tSend a mini scan
/V-V255Verbose mode (show UI)
-voutput ldscan version
/W=<n>-wWait for n seconds before starting the scan
/Z=<n>Max retries to contact the Inventory Server Service. Default/minimum = 10

How to generate an inventory output file from client machine for LANDESK support to do further troubleshooting?

$
0
0

Description:

During inventory troubleshooting LANDESK support may request an inventory output file (xxx.scn) for further troubleshooting.

Here is the way to generate the xxx.scn file from the client machine.

 

Resolution:

 

1. Go to client machine->All Programs->Landesk->Inventory Scan->Right click->Property->Shortcut->Copy the target address

 

inventory force scan + output 2.PNG

 

 

2. Paste the target address in CMD-> As the screenshot shows, you should add the addtional parameters "/f /sync /o=C:\text.txt"

/f will force  a full inventory scan

/sync will send the inventory scan result to core server immediately.

/o=  Is the place where you want to save the output file.

 

inventory force scan + output.PNG

 

3. The inventory output file will be saved in the text.txt file.

4. Send the txt file to LANDESK support for further investigation.

 

Related: How to Gather an Inventory Output scan for MAC's

https://community.landesk.com/support/docs/DOC-33265

Machine Will Not Process Inventory Scan Due To Large File Size

$
0
0

Problems/Symptoms:

 

A machine will check in, however, only minimal information will be displayed such as computer name,IP address, etc. The OS, software, users, groups will likely be missing. The "ErrorBigScan" will likely contain SCN files. This should be found in the following directory: C:\Program Files\LANDesk\ManagementSuite\ldscan\ErrorBigScan

 

Partial inventory.PNG

errorbigscfol.PNG

 

Cause:

 

This is typically caused by scan files being too large to be processed by the core.  The right max scan file size needs to be set in the core.

 

Fix:

 

In the ErrorBigScan folder check to see what the largest file is. Then open the LDMS console and go to Configure->Services->Inventory-Advanced Settings->"Max Scan file Size" and set the value to something bigger than the largest file that was found in the "ErrorBigScan" folder. It is measured in bytes so if its set to the default parameter of 10000000, it is 10mb. So for example if the largest scan file is 30mb, try setting it to 35mb just to be on the safe side in case anything larger goes through. After setting the appropriate value, go to the "ErrorBigScan" folder, grab the files and drop them back into the "ldscan" folder, it should then try to process them again automatically. If the scan file was too large, it will now appear in the console.

 

errorbigscan.PNG

New Data File Extension inventory attribute

$
0
0

Versions affected: LDMS 9.5 SP1

Note: For LDMS 9.6 - Use this article How to scan .jpg or .bat extension files (or any other extension) on LDMS 9.6

 

A new feature to come with LDMS 9.5 service pack one is to detect and report on the size, location and name of date files with the extensions .ost and .pst. Outllook files.

This can be useful when locating pst or ost files before reimaging a machine, because losing all a users archive mail is something no one wants to do, and situation that no IT administrator wants to be in.

So to help with this possible issue, LANDesk has increased the inventory compatibly of the inventory scanner so it can pick up these files.

 

Walkthrough

Here are some steps to follow to allow you to activate this feature and allow clients to report the new information to the core:

 

1) On the core server, modify the c:\Program Files(x86)\LANDesk\ManagementSuite\ldlogon\ldappl3.template with a text editor (for example, notepad)

 

data_inv.PNG

 

2) Scroll down to the just below 'scanextensions'

 

3) Add the following line:

 

DataFileExtensions=.pst

 

Example Extract :

[LANDesk Inventory]
; Duplicate can be ON or OFF.  If ON any applications that are found more
; than once by the scanners will be entered into the database.  If set to
; OFF, the scanners will only find the application once.
Duplicate=ON

; ScanExtensions lists the extensions that will be searched for.
; Regardless of what is entered in the Applications section, if the extension
; of the file is not listed here, the application will not be found.
; This list is currently limited to 40 extensions.  If there are more than 40
; extensions, only the first 40 will be used.
ScanExtensions=.exe
;ScanExtensions=.exe .com .sys .nlm .lan .dll .hlp .lvl .crh .lib .run .jar .dat

DataFileExtensions=.pst .ost     ;########### Changes made and implemented here

; MultimediaExtensions lists the extensions that will be scanned for inclusion
; in a computer software report.  This information can be found under the Multimedia
; database attribute and will include the total number of multimedia file, the

 

 

4) Save the LDAPPL3.TEMPLATE file and close the text editor.

 

5) Open the LANDesk Management Suite console.

 

6) Go to Tools | Reporting/Monitoring | Manage Software List

 

7) Click on 'Make Available to Clients'

 

data_inv2.PNG

 

8) Now clients will start sending this new information along with their next full inventory scan.

 

To test

9) Run the full inventory manually , by adding the switch /SYNC to the inventory short cut in the start menu and the item will appear in the inventory of the device.

Under the following heading in the inventory of the computer:

Software -Data Files

data_inv3.PNG

General Inventory Status Guide

$
0
0

Below is a list of messages and status that are returned to the console. At this point these are the most common messages that are returned during an inventory scan.

 

Requesting

Shown when first requesting an inventory scan via the console.

Running

This signifies that a connection was successfully made to the agent and it was able to start the inventory scanner on the device

Complete

At this point the inventory scanner has completed the process and the scan file has been added to the core server's inventory queue in the ldscan folder.

Results not specified

This message is returned if the device did not respond back with a return code. However the inventory scanner did still send the scan file to be processed by the inventory service. This message is most often seen when running inventory on Mac devices and is very common there as Mac inventory does NOT send back a return code on completion.

Cannot Find Agent

Cannot find agent is a message that is received if you are unable to communicate with the device from the console. This generally means that inventory was not able to communicate over the default ports set to communicate. This is typically 443 if using the Post to Web Service setting or 5007 if communicating directly to the service. (Ports used by LANDESK Management Suite - Full List)

The system cannot find the file specified.

This error is stating that it was unable to find the location of the scanner on the remote device. Typically the easiest way to get around this issue is to run the Restore Client Records script on the device which will return a Full Sync scan and supply you with the updated agent information which is being reported as missing here.

Note*** To run the Restore Client Records script navigate to Tools > Distribution > Manage Scripts > All scripts >Restore Client Records. Once found, you can schedule it for deployment and drag-and-drop the machines on to the scheduled task. Once the task has completed it will take a few moments for the new scans to process through inventory but when it's complete you should have full inventory from the device and you should no longer receive this message if you request inventory again in the future.

CBA 8, the remote command was sent, but the connection was lost, no status available

This message is simply reporting that it had attempted to send your request to the agent but the connection was lost or terminated for one reason or another. This message may occur once or twice, but if the machine is on and you are consistently getting this message, you may want to try reinstalling the agent and then contacting support if it continues.

No Error

This message is very similar to the Results not specified, in that it simply did not receive any information from the agent during the request at all. This is another instance where you may want to try reinstalling the agent and then contacting support if it continues.

Error: CBA 8, no certificates were found on the core server while attempting to run inventory scan

$
0
0

Description:


When attempting to perform an Inventory scan or Patch and Compliancescan request from Windows Console the Status of requested actions returns the Results seen below. Although this indicates that CBA is malfunctioning you can see in the image below that the Agent Status icons will often report correctly.

 

CBA 8, no certificates were found on the core server

 

Cause:

 

     Most commonly presented on Core servers recently upgraded with an inline methodology. The Core server is using an old certificate that does not exist on the client when requesting connections.

 

Resolution:

 

    1. Validate that the HTTPS bindings of the Default Web Siteare configured to use the LANDesk Secure Token Serveras seen in the image to the right:
    2. Move all but the latest modified *.cer, *.crt, *.key and *.0 files from LANDesk\Shared Files\Keys  to a new folder called Backup Keys

      • Note: The remaining .0 file should match the certificate found on the client

    3. Flush all temporary ASP.NET files like so:

      1. Stop IIS (IISRESET /Stop)

      2. Delete all files and folders from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
      3. Start IIS (IISRESET /Start)

    4. Restart all LANDesk and Managed Planet services with the following command in an elevated PowerShell:

      • Stop-Service -DisplayName LANDesk*,Managed* -Verbose -Force;  Start-Service -DisplayName LANDesk*,Managed* -Verbose

        

          If issue reoccurs, please perform following steps:

 

          1. Open IIS Manager

          2. Go to Application Pools > LDAppMain > Advanced Settings...

          3. Change Maximum Worker Processes value to 2

          4. Change Regular Time Interval (minutes) value to 240

 

          Please contact Ivanti support if above steps do not solve an issue.

Ivanti Endpoint Manager and Endpoint Security - Inventory Frequently Asked Questions

$
0
0

Inventory for Ivanti Endpoint Manager and Endpoint Security

Product Help Files

IEM 2017 / LDMS 2016 | LDMS 9.6

 

To review additional content regarding this component, please use Documents or Discussions buttons on the overview page.

 

FundamentalsTroubleshooting

 

ConfigurationTips & Tricks

NOTE: This article is not a full list of all documents and issues. You can continue to search the rest of the community or the portion specific to Inventory if this page hasn't helped.


How to Troubleshoot Inventory

$
0
0

This article details the troubleshooting steps for Inventory

 


 

General Information

 

Inventory Installation

Inventory is installed as a result of the agent installation and includes and/or uses the following files:

 

Installation files

  • LDIScn32.exe
  • ldapwhoami.exe
  • AMTScanner.exe
  • ClientRollingLog.dll
  • ClientRollingLog.log4net
  • elogapi.dll
  • GatherProducts.exe
  • GPMM.exe
  • HPScanner.exe
  • Lclxclnt.dll
  • ldaccount.dll
  • ldapinfo.dll
  • ldappl3.ini
  • ldapwhoami.exe
  • ldavhlpr.dll
  • LDISCN32.exe
  • LDServerRoles.exe
  • LDMBBApi.dll
  • LDProfile.exe
  • libhttp.dll
  • loc32vc0.dll
  • LocalPrtInfo.exe
  • log4net.dll
  • ltapi.dll
  • processrunner.dll
  • psapi.dll
  • ServerScanner.exe
  • ThinClientScanner.exe
  • vulscan.dll
  • WMIRulesScan.exe

Possible Installation issues

 

If the following option is checked within the agent configuration when the agent is deployed, you could possibly see a delay in the installation completing and the first inventory scan being sent:

 

agntconfig.png

 

Inventory Service Settings

Settings for the inventory service can be found on the core server by opening the 'Ivanti Configure Services' (SvcCfg.exe) application from the Start Menu, from the \Program Files\LANDesk\ManagementSuite\ directory, or by navigating to Configure > Services > Inventory.

 

invserv.png

 

For additional information on these settings as well as the Advanced Settings please click here.

 

Inventory Client Settings

Client inventory settings can be found within the agent configuration or agent settings options within the 'Configuration' menu in EPM.

 

agntinv.png

 

For additional information on the client settings please click here.

 

Tasks

Inventory is run based upon the criteria inventory settings criteria within the agent configuration. You can view the scheduler tasks through the local scheduler on the device by following the documentation below:

How To: View Local Scheduler Tasks on a Client

 

When running a task from the core server you may encounter various Status messages as the scan progresses,

 

Directories

 

LocationDescription
\Program Files (x86)\LANDesk\LDClient\DataClient - Inventory Data Files
\Program Files (x86)\LANDesk\LDClient\Client - Inventory installation files/exes
\Program Files\LANDesk\ManagementSuite\ldlogonServer - Inventory Data Files

 

 

Registry Keys

 

Key nameDescription
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Intel\LANDesk\LDWMCore Server Communication

HKEY_LOCAL_MACHINE\SOFTWARE\LANDesk\Common Api

Device ID (x32)
HKEY_LOCAL_MACHINE\SOFTWARE\Intel\LANDesk\Common ApiDevice ID (x32)
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LANDesk\Common ApiDevice ID (x64)
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Intel\LANDesk\Common ApiDevice ID (x64)

 

Database Tables and Inventory Information

Quick SQL Script to find all of your Inventory Attributes in your LANDesk Database

How to determine the table size of a Microsoft SQL Server database

How to find out Database information for Inventory Items by the Object or Attribute name

 

Gathering logging information for Ivanti support
Inventory Scanner Switches

How to generate an inventory output file from client machine for LANDESK support to do further troubleshooting?

How To: Enable XTrace Diagnostic Logging for the LANDESK Core and Clients

 

Standard Log Files

Windows Application Event Viewer - Most LANDesk Inventory Server errors or exceptions are logged to the Application Log

Gatherproducts.log - \Program Files (x86)\LANDesk\LDClient\Data

ldiscn32.log - \ProgramData\LANDesk\Log

LDInv32.exe.log - \Program Files\LANDesk\ManagementSuite\log\

 

Trace Log Files

ldapwhoamixtrace logging - ldapwhoami.log - \ProgramData\LANDesk\Log

Note: This log file will only be created if xtrace in enabled.

 

Debug Logging

Debug Scanner log - ldiscn32.log - \Program Files (x86)\LANDesk\LDClient\Data
Inventory Server Service log - ldinv32.exexxxxx_xxxxx.log - \Program Files\LANDesk\ManagementSuite\log\LDInv32.exexxxxx_xxxxx.log

Note: This is the rolling log and must be manually enabled in Configure | Services | Inventory | Advanced Settings | Use Rolling Log = 1 on the core server.

 

Common Issues and Troubleshooting

10 simple checks to Troubleshoot Inventory - Devices not updating, Duplicated or Missing Scans

Database Exception: Error Committing on Table...Increased column size might be necessary (Event ID 4100)

Custom Data Registry Scan Not Working: How To Pull Registry Information Using The Manage Software List

Inventory scan is not working and error in event viewer : 'Unable to find a valid license'

$
0
0

Description:

After the inventory scan, the information cannot update to console. You can see the SCN file is remain in ldscan folder after you enable the storage folder.

Check the event viewer, there is error : 'Unable to find a valid license'.

 

Resolution:

1. Check the licenses file under path: C:\Program Files\LANDesk\Shared Files\Keys

There are three files with .crt, .cer and .key existing. And the files name are same with the CertName in registry:

HKEY_LOCAL_MACHINE\SOFTWARE\LANDesk\ManagementSuite\Setup

2. Open the .key file with notepad, check the Computer=<computerName>, computer name is NOT FQDN.

The name same with the CoreServer in registry:

HKEY_LOCAL_MACHINE\SOFTWARE\LANDesk\ManagementSuite\Setup

 

2.png

 

Apply:

LDMS 9.5

LDMS 9.6

How to: Automatically remove devices from EndPoint Manager that haven't checked in

$
0
0

Ivanti EndPoint Manager (EPM) doesn't remove devices unless you have configured it to do so under Configure>Services>Inventory>Days to Keep Inventory Scans. A value of 0 (Default) means to keep all inventory records indefinitely, until manually deleted or archived. You may change this value to any number of days that you would like. 30 days is a common configuration among most of our customers.

 

Configure_Services_Inventory.png

 

Please know that it does not differentiate machines offline and machines that just haven't sent in an inventory scan. This setting looks at the "Last Updated by Inventory Server" value in the inventory record and compares that date to today's date. If it surpasses the amount of days that you have configured, the device is deleted from the console until the next inventory scan is sent from the client.

 

The following article should have more detail surrounding the options under Configure>Services>Inventory: Configuring services

HOW TO: Finding & Dealing with orphaned data / What to do when data re-appears after being deleted

$
0
0

 

NOTE -- click on individual images to see them in their full-size version.

 

I - Introduction:

Symptoms of this issue include / tend to be the following:

  • After apparently deleting an object (a device, a vulnerability, a task, etc.) and either refreshing the view / re-opening the console, the allegedly deleted object is still/again present.

 

KEY FACT - please note that SQL Express does not come with SQL Profiler, which will most likely be needed here. The Data Profiler is part of the full SQL Server Suite, so the "free" version does not have it. However, if you have SQL Server installed in your network somewhere, you can use its SQL Profiler to connect to a SQL Express instance just fine.

 

However, Microsoft have included it of late with the SQL Server Studio tools, so if you have a version 2017.x or newer, you should have SQL Profiler available, hopefully.

 

 

II - WHEN does this happen? WHY does this happen?

This is USUALLY seen in situations where SQL Server sits on a VM (as this can cause various timing issues to show their ugly heads). There's no "hard" rule to the "when" - it's effectively a case of "when something goes wrong with your DBMS" (Database Management System).

 

As to the "Why" ... well - you'll have to ask Microsoft / Oracle / make your DBA's uncomfortable. As relational databases, this sort of thing *SHOULDN'T* happen - and it tends to do so only rarely. After all, the whole point of relational databases *IS* that data is connected to one another.

 

All the same, this sort of thing DOES happen from from time to time in real-world environments (both Oracle and SQL-based), and all of them tend to require essentially the same plan of attack:

  1. Find out which rule / constraint causes the problem. Once you know that, you can locate the data easily, and delete it manually.
  2. After this, it's a case of "rinse & repeat". In MOST situations, there is just a single occurrence of such orphaned data, but it is possible to run into more (especially if databases have never been maintained, for instance).

 

From a "inner logic WHY" perspective, the explanation is very straightforward at least. Here goes:

  • The Ivanti-console goes through what inventory data it's aware that the troublesome data-object has and creates its own "tree" structure as to what data needs to be deleted and in what order.
  • This is a DYNAMIC process, because different devices will have different levels of data.
  • The console then goes and executes its built SQL-plan without committing the TRANSACT statement until the very end.
  • Because there is some orphaned data (which isn't visible in the inventory tree) linked to the object being deleted, the DBMS will protest the deletion at the latest when we try to delete the root item itself (i.e.. "delete device X from COMPUTER-table").
  • ... and because the DBMS stops/fails this delete statement, the ENTIRE transaction is rolled back and nothing is deleted (after all - this *IS* a relational database).
  • ... which is why the apparently deleted object re-appears when you refresh the console view - it is in fact NOT deleted.

 

III - Preparations:

There's nothing to stop you from running the SQL trace on a live server - from a technical point of view. However, from a "quality of life" and "minimising disruption" basis, it's worth taking a full DB backup from the live system and restoring it into a lab system. The reasons for this are various:

  • First of all - you now *HAVE* a full DB backup in case you "delete the wrong thing" or so by accident.

 

  • You can merrily stop ALL services (32-bit console doesn't need any to start) or "nearly all services" (if the problem is relying on 1 service running). Either way, you will massively reduce the amount of clutter in your SQL trace. Even when "apparently idling", there's a continuous stream of pokes & prods from the Scheduler service (for instance) to check if it needs to do something / anything.

 

  • You can "test" around in relative safety of not breaking a live server, thus developing all the necessary SQL (and being able to test & re-test) in a safe environment, until you have all of the SQL "prepped and ready" and can thus minimise any "downtime" (due to stopping of services) in live to a minimum.

 

Again, the ideal is to stop ALL services, but the most important thing is to do this on a "quiet" server, so as not to drown in SQL statements. Yes, this stuff can be filtered, but why create yourself needless headaches & obstacles to be overcome?

IMPORTANT REMINDER:

Because you're going to perform some sort of DELETE-action, do make sure to have stopped at the very least the LANDesk Inventory Service BEFORE doing so.

 

This is the ONE service that *MUST* be stoppedwhen performing deletions in the database as a safeguard. The rest is usually fine (though best practice is always "stop everything" on a cautionary side - though this is not often realistic). The console does not require any services to either load or function, so you've no issues there.

 

IV - Identifying & Fixing The Problem:

For this part, you *WILL* need some SQL expertise. Or "if not you yourself", then you need someone who does (i.e. - your friendly DBA, who I assume exists).

 

I will walk through an example of orphaned data for SQL Server below.

 

For Oracle databases, the process is effectively the same - but you'll need to talk to your Oracle DBA about performing the trace. That would blow the scope of this document considerably.

 

WARNING:

Please be *CAREFUL* when performing these operations. You're deleting things directly in the database ... PLEASE make sure you have a full backup. That way, *IF* something goes wrong, you are not left up a creek without a paddle.

 

This isn't a "High Risk"-operation per-se ... but if things *CAN* go wrong (such as databases breaking because you've never made a backup), this sort of stuff DOES tend to happen.

 

 

 

IV.A - Step 1 - Identify Affected Devices/Items.

This part should be relatively simple, as you should be aware of what you can delete and what re-appears after being (attempted to be) deleted.

 

If you fancy a "tabula rasa" approach, you can even try to delete *ALL* items (i.e. - "devices") and then press "F5" or refresh, and see what comes back. Since you're doing this (I hope) on a lab/test-server with a backup of the live database, there should be no problems here (other than potentially time - deleting 20,000 devices from a DB will take a long time). So - be reasonable with what you're trying to do versus what you need to achieve.

 

Otherwise, keep track of the objects that are proving troublesome to delete. For DBA's unfamiliar with Ivanti EPM, here a couple of pointers:

  • Resolve COMPUTER DEVICES against the COMPUTER-table (you're after the COMPUTER_IDN). You can resolve by DeviceID (a SID-like string) for uniqueness, or DeviceName based on displayed host name.
  • Resolve Scheduled tasks against the LD_TASK / LD_TASK_MACHINE tables. LD_TASK is information on "the task itself", while LD_TASK_MACHINE is a map of "task X has devices A,B and C added to it".

 

Usually it's just 1-2 items that have orphaned data ... not everything .

 

IV.B - Step 2 - Preparing the SQL Trace

After it's finished loading, SQL Profiler doesn't show much of anything - you need to start a trace to get somewhere.

A1_Profiler_NewTrace.jpg

 

After selecting this option, the first thing you're greeted with is very similar to a SQL Enterprise Manager login - please provide credentials for the SQL Server you're intending to trace (note that this is the SQL *SERVER* - not "the individual database" at this point!). Once you've entered your credentials, hit the "CONNECT"-button.

 

A2_Profiler_Login.jpg

 

After a successful login, you will be greeted with a screen like this one:

 

One of the first things you should do, is to go to the "EVENTS SELECTION"-tab where you  should enable:

* Show All Events

* Show All Columns

 

Which is located in the lower right.

 

Enabling all these events / columns will give you - often necessary - additional options that are needed during troubleshooting.

 

Click on the COLUMN FILTERS-button - this allows you to filter "where" you're collecting data from in various regards - be it "by database", "by application" or even by CPU. In general, you're most likely interested in capturing "everything that goes to Database X" ... so you should select the DATABASENAME-section and enter the name of your intended DB to be traced in the LIKE-filter, like so:

 

When done, you can click on the "OK"-button to close that window.

 

Now - let's have a look what we're looking at in regards to the other TRACE PROPERTIES ... specifically - what events we're going to trace. By default, you should see something like the following:

 

Here are the options you're generally interested in:

 

ERRORS AND WARNINGS

    => ErrorLog

    => EventLog

    => Execution Warnings

    => User Error Message

 

STORED PROCEDURES:

    => RPC: Completed

    => RPC: Starting

 

 

TSQL:

    => SQL: BatchCompleted

    => SQL: BatchStarting

 

You can right-click on the "SECURITY AUDIT"-section and use the "DESELECT EVENT CATEGORY"-option, since we're not interested (usually) in tracking audit problems, but only SQL execution errors.

 

 

Realistically, the given settings are prone to a little overkill, but it's easier to filter through "too much logging" than to not log what you actually need.

 

NORMALLY, the exception you will be looking for is of the "USER ERROR MESSAGE" time, but it could be different, so I like to make sure / be on the paranoid side. To be honest - this isn't about "making an efficient SQL capture" - it's about capturing all the relevant SQL  and then filtering out the irrelevant chaff.

 

IMPORTANT REMINDER:

Make sure you've covered all the steps from SECTION III - PREPARATIONS - as having unnecessary services running at the time of the trace will pollute / clog your SQL trace CONSIDERABLY!

 

And you're ready to start the trace now ...

 

 

IV.C - Step 3 - SQL-trace an attempted deletion of the device(-s) in question.

This is a straight forward part. Just switch to the application (often - the 32-bit console) that is causing you grief, and perform whatever operation doesn't perform successfully.

 

And then stop the trace ... by pressing the "red stop"-button at the top

 

That's really all there is to this part - the "heavy lifting" comes in evaluating the trace.

 

IV.D - Step 4 - Evaluating The SQL-trace.

It's not all bad news, however. As a general rule "normal" operations / successful operations are coloured in *BLACK* - while exceptions & errors show up as a nice, distinctive *RED* amongst the text. You can also search for the keyword "Error" or "Failed", but depending on what you're dealing with (especially what data-strings you're dealing with) this can be a bit more of a pain.

 

Note that the "full line of SQL" (or full event description) of whatever line you've got highlighted is shown at the bottom. SQL Profiler does *NOT* show you the results of a SQL statement - it shows you only "what was run / what went wrong" ... in order to play with the actual SQL, you need to have a means to query the DB open (usually - query analyser in SQL Enterprise Manager).

 

A couple of otherwise useful data columns tend to be:

  • CPU => # of CPU milli seconds used for an operation. If there's some operations that stand out, it might be worth looking at those for potential I/O or re-indexing needs.
  • READS / WRITES =>  can be useful - especially if you're having disk I/O issues (i.e. - "slow/long" read / writes).
  • DURATION => helps you identify straight up what SQL statement(-s) are clogging your DBMS up. Usually a great way to identify what tables / views cause you problems and/or where you may want to add some indexing.

 

In case you need to deal with truly large SQL traces (I've had some come in at 1,000+ MB), you can make your life a lot easier by simply saving the SQL trace into a database table

 

This allows you to then run simple SELECT-type queries against a DB-table (all of the data columns you traced are saved). It's a great way of determining "top usage" in terms of CPU % and Read/Write performance, should it be needed.

 

Now then - back to our actual SQL trace - often the ERROR-message(-s) will be towards the end of the trace (since usually that's where the process fails and thus gives up, after running into an exception). So - let's look at our example here:

 

In this case, for instance, our error text reads as follows:

The DELETE statement conflicted with the REFERENCE constraint "R_DataProtClient". The conflict occurred in database "{DATABASE-NAME}", table "dbo.DataProtClient", column 'Computer_Idn'.

 

I'm highlighting 3 separate items here:

  • "constraint "R_DataProtClient""
    => This is the constraint that caused the conflict / failure of the DELETE statement/transaction. In LANDesk, pretty much EVERY foreign relationship constraint is named in this format:
    ""
    R_{table-name}
    ""

 

  • "table "dbo.DataProtClient", column 'Computer_Idn'."
    => In case this will make your life easier, here's an alternate pointer at what table you need to look at (and what primary key is giving you grief).

 

  • "{DATABASE-NAME}"
    => This you should know, since this is the database you're tracing. But, if you're having to trace several DB's for some reason, this helps you narrow things down.

 

There will usually be a DELETE statement before this error - this will incorporate any unique identifier that's being reference (usually a COMPUTER_IDN) so you know what value to look for in the problematic table.

 

IV.E- Step 5 - Finding & Deleting The Orphaned Data.

In *THIS* particular example, we've got a few troublesome computers (COMPUTER_IDN's 646, 647 and 648) who have failed due to a foreign key/relationship constraint into the DATAPROTCLIENT-table. After running a select on the table, we can see that - indeed - the clients DO have entries in that table. Why this data has been orphaned, we can't say (as it doesn't show up in inventory), but this is what's causing us problems.

 

So - let's delete it ... let's look at our table:

 

Since we have found the troublesome table, and we know the troublesome COMPUTER_IDN's it's a simple case of a 1-line SQL statement to rid us of the relevant orphaned data.

delete from DataProtClient where COMPUTER_IDN in (646, 647, 648)

 

would sort this bit of orphaned data out.

 

Now - with this done ... let's TRY AGAIN .

 

IV.F - Step 6 - Try Again / You Should Be Done

Normally, you will just have a single instance of orphaned data to contend with.

 

In SOME, rare cases, you may have several - in which will require you to repeat the whole SQL tracing process (so that you know where / why the delete action failed this time). If you have more than 2 instances of orphaned data, I would strongly recommend having a chat with your DBA team about checking the consistency / health of your database, as things should be getting rather suspect at this point.

 

So in most cases, you would need to just do the following:

  • *Stop* the LANDesk Inventory Service on the (live) Core
  • Run your SQL delete statement(-s)

 

  • Re-start the LANDesk Inventory Service on the (live) Core
  • Delete the items / devices you had problems deleting before.

 

The last 2 steps are interchangeable - but the first two are *NOT*.

 

V - Things To Look Out For:

If you've followed the advice & guidance presented here, there's really not much to look out for / things that can be gotten wrong.

 

The biggest thing really is to "muck around" on a copy of the live DB in a safe environment - that removes the greatest element of risk in the equation.

 

Other than this, the only real key element to remember is to STOP the LANDesk Inventory Service before deleting anything.

 

VI - Conclusion:

The article should cover everything that's required to identify the problem, set up a SQL trace to identify the source/location of any orphaned data, and help in deleting the relevant entries, as well as a process to do so safely.

Mass Managing Blocked Inventory Items / Blocked Unknown Items

$
0
0

 

I - Introduction

This article covers how to (mass-)manage the handling of items blocked by the Inventory Service, because of them not being approved.

 

Normally an item that's recommended to be checked every week (or every two weeks), it does sometimes occur that this is forgotten for months (or even years) at a time. And by the time it's actually revisited, some 10,000+ items have gathered ... and the prospect of managing these manually can be quite daunting.

 

This article will provide you with information to handle this situation and mass-manage this.

 

II - Database Structure & Key Tables

As with most advanced operations, we'll be dealing with direct SQL access. In this case, however, the number of tables to be looked at is very straight forward.

 

Key tables are:

* The METABLOCKED table

* The METAIGNORE table

 

That's pretty much all there is to it - a lot of responsibility in two small tables.

 

II.A - The METABLOCKED table

Despite its name, it's actually *NOT* a list of unmodelled data that's "blocked by the user" - rather it's all of the unmodelled data that's blocked because the "Block Unknown Items" option is enabled in the Inventory service.

 

Anything that's new gets registered here. This is the table that gets read for contents when you look at the contents of the "UNKNOWN ITEMS" section for the Inventory service settings.

 

II.B - The METAIGNORE table

This table lists what BNF data has been actively set to be ignored.

 

This table shouldn't messed with, EXCEPT for a (hopefully rare) case in which you've unintentionally set some "good, expected" unmodelled data BNF to be ignored and seek to rectify that mistake.

 

 

II.C - Sideline - BNF? What's a BNF?

BNF stands for "Backus-Naur Form". It's a method to formally and mathematically describe and define a language.

 

In less technical speak, it's to help translate things in a more abstract, and more intuitive way. For instance, the LANDesk Inventory tree uses BNF in such a way that the average user only needs to know that his desired data sits in:

Computer - OS - OS Name

 

 

... for instance. This abstractions is MUCH easier to remember than knowing what DB-table to look in for the operating system name.

 

Essentially, this "data pathing" is the BNF that LANDesk uses to make the database-side of things much more transparent & accessible to most users (and uses).

 

In this particular case, it allows the user to see "where the data WOULD go if it were accepted" in an expected and consistent format, without us having committed the relevant links in the database schema.

 

II.D - Regarding Applicable Versions

LANDesk Management Suite Versions:

This information is applicable to LANDesk version 9.0 and onward.

 

LANDesk Management Suite versions 8.x did not have the feature to "block unknown items".

 

 

 

III - Preparation (MUST READ)

The only thing you need to do - and you *MUST* do this is

 

STOP THE INVENTORY SERVICE!

 

This is an absolute *MUST* as you risk corrupting the database if you don't do this.

 

Like ANY operation that doctors around with the database, this is a key requirement.

 

In case you forget to do this, you're unlikely to single-handedly BREAK the database - but it's still going to cause some clean-up that I wouldn't envy doing (chances are, it may require deletion of custom data / unmodelled data and such "standard recovery options").

 

As a bonus, have a backup of the database before you begin, but that's optional. By and large, this should be a low-intrusiveness operation.

 

IV - How to delete "everything"

This is very straight forward, really.

 

Depending on whether you want to log the deletions of each row (for auditing), you can use either the "DELETE..." or "TRUNCATE..." syntax.

delete from METABLOCKED

 

 

- or -

truncate table METABLOCKED

 

 

Note that "Truncate" may not work for Oracle (it's a MS SQL command).

 

IMPORTANT NOTE:

The "Delete..." operator is slower, as it logs each deletion.

The "Truncate..." operator is (MUCH) faster, as it does not log each deletion.

 

 

Tempted though it may be, please don't use "drop table"... it's not that this would be unrecoverable - it will simply require you to run a COREDBUTIL => BUILD COMPONENTS, which can take quite a while (depending on the server in question and the size of the database).

 

V - Fixing accidentally ignored legitimate custom data

That's very simple.

 

You just need to delete the relevant line(-s) from the METAIGNORE table.

 

Then you re-inject an inventory scan (once the Inventory Service is up again) which has your desired, unmodelled data and since it's "new", it'll now show up under "unknown blocked items" again.

 

VI - Mass-insertion of ignored data

A little less straight forward than "just deleting everything", this is still pretty simple.

 

The key elements are that both METABLOCKED and METAIGNORE use the BNF-datapath string to identify a data location. This is what you need to shift.

 

So you need to do the following:

Step 1 - grab the BNF from the METABLOCKED-table (the column-name is BLOCKEDBNF)

 

Step 2 - inject the BNF from step 1 into the METAIGNORE-table (into the IGNOREFQA column).

 

Step 3 - delete the relevant line in the METABLOCKED-table from step 1.

 

 

The "inject" should be very straight forward, since the METAIGNORE_IDN is a self-incrementing identity attribute, and as such is not going to cause you headaches.

 

That said, depending on what volumes you're talking about, it's advisable to do this on a "line by line"-batch job, to help ensure that you're not going to skip anything or run into problems.

 

VII - What about "Mass-permitting" data?

That's NOT something you should attempt through SQL (as creating the relevant data links is a thing requiring care). The "safest" approach if you must mass-permit unmodelled custom data is as follows:

 

Step 1 - delete *all* currently unknown data, as per chapter IV.

 

Step 2 - disable the "block unknown items" function in the Inventory Service.

 

Step 3 - Start the Inventory Service and Inject a/several scan-files that have your desired unmodelled data with values.

 

Step 4 - When done, stop the inventory service and re-enable "block unknown items".

 

 

... a slight alternative would be to delete all unknown data, WITHOUT disabling the "block unknown items" of step 2. After processing the inventory scan with (ideally - ALL of) your desired custom data, just go into the "UNKNOWN ITEMS" section and allow them as per normal (remember - this will require the re-start of the inventory service).

 

This will handle all of the necessary data-structure linking in the background.

 

VIII - In Conclusion

This article should cover everything you need to handle massive amounts of unknown inventory items.

Viewing all 397 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>