Actions remaining in a Pending state

Issue: Actions initiated on the agent remain in a pending state

Explanation: The Remote Task (Action) feature in Esprida LiveControl is an asynchronous process. This means the Esprida LiveControl Server generates a message for the Esprida LiveControl Agent to pick up through an open socket maintained between the agent and server. This socket has a maximum length that it will remain open before the agent will close it and open a new socket with the Server. This length of time is the ‘Maximum Session Length‘ parameter that can be configured on the “*Set Server Communication Configuration” page when editing a device.

If the socket does not get properly established or if the server loses the socket, then all actions will remain in a pending state on the Actions window for the agent. The Agent may be completely unaware of the socket lose therefore it will not be aware of any pending actions until the socket is re-established; when the  ‘Maximum Session Length‘  timeout occurs.

Solution: The  ‘Maximum Session Length‘  value should be configured to the longest acceptable wait time to ensure any socket loss scenario is recovered from in a timely manner.

Do not set the ‘Maximum Session Length‘  value to zero ( ‘0’) as this represents no session timeout and the Agent will never be able to recover from a socket loss scenario.

How do I retrieve data using the Transfer Raw Data action with spaces in the path?

For folder/file paths with spaces, it is not necessary to use double quotes “ like it is when using the Run Shell Command. The spaces are automatically handled by the command. As an example:

c:\program files\esprida\esprida livecontrol agent\log

would be entered into the Transfer Raw Data command line to bring back the contents of the log folder.

How do I use environment variables and double quotes in Run Shell Command?

For the Run Shell Command actions, environment variables are supported but the environment variable must be encapsulated in double quotes if the value for the environment variable is a path that contains spaces.

There are many conditions where double quotes are required to be able to handle different spaces and parameter entries. Here are a number of examples:

Example 1: Using an environment variable where there are no spaces in the full path name
• the environment variable ‘Temp_Home’ = C:\Temp
• the folder “New” is located under the folder “Temp” (e.g. C:\Temp\New)

the command to be entered in Run Shell Command will be:

dir %Temp_Home%\New

Example 2: Using an environment variable where spaces exist in the full path name
• the environment variable ‘Catapult_Home’ = C:\Program Files\Esprida\Esprida LiveControl Agent
• the folder “test” is located under the folder “Esprida LiveControl Agent” (e.g. C:\Program Files\Esprida\Esprida LiveControl Agent\test)

the command to be entered in Run Shell Command will be:

dir “%Catapult_Home%”\test

The double quotes around the environment variable are required to properly parse the folder path with spaces.

Example 3: using an environment variable where spaces exist in the full path name and parameters are being passed for the command
• the environment variable ‘Catapult_Home’ = C:\Program Files\Esprida\Esprida LiveControl Agent
• the folder “test” is located under the folder “Esprida LiveControl Agent” (e.g. C:\Program Files\Esprida\Esprida LiveControl Agent\test)

the command to be entered in Run Shell Command will be:

dir “%Catapult_Home%”\test /O:S

The double quotes around the environment variable are required to properly parse the folder path with spaces. The /O:S parameter tells the DIR command to sort the output according to file size.

Example 4: executing a DIR on a folder and redirecting the output where both the paths have spaces
• the environment variable ‘Catapult_Home’ = C:\Program Files\Esprida\Esprida LiveControl Agent
• the folder “test” is located under the folder “Esprida LiveControl Agent” (e.g. C:\Program Files\Esprida\Esprida LiveControl Agent\test)

the command to be entered in Run Shell Command will be:

Dir “%catapult_home%”\test > “%catapult_home%\test\out.txt”

Example 5: executing a VBS file which requires a parameter
• the VBS file is ‘Test.vbs’
• the parameter is a path and file name for an output from the VBS file (e.g. C:\Temp\Test.log)

the command to be entered in Run Shell Command will be:

C:\Temp\Test.vbs C:\Temp\Test.log
or
cscript C:\Temp\Test.vbs C:\Temp\Test.log

No double quotes are required as there are no spaces in the folder or file names.

Example 6: executing a VBS file that requires a parameter where the folder path to the VBS file has a space
• the VBS file is ‘C:\Program Files\Esprida\Test.vbs’
• the parameter is a path and file name for an output from the VBS file (e.g. C:\Temp\Test.log)

the command to be entered in Run Shell Command will be:

C:\”Program Files”\Esprida\Test.vbs C:\Temp\Test.log
or
“cscript C:\”Program Files”\Esprida\Test.vbs C:\Temp\Test.log”

Example 7: executing a VBS file that requires a parameter where the parameter is a folder path with a space

• the VBS file is ‘C:\Program Files\Esprida\Test.vbs’
• the parameter is a path and file name for an output from the VBS file (e.g. C:\Temp\Test.log)

the command to be entered in Run Shell Command will be:

C:\Temp\Test.vbs C:\”Scott Folder”\Test.log
or
“cscript C:\Temp\Test.vbs C:\”Scott Folder”\Test.log”

Example 8: executing a VBS file that requires a parameter where both the VBS file and the parameter are on folder path with a space
• the VBS file is ‘C:\Program Files\Esprida\Test.vbs’
• the parameter is a path and file name for an output from the VBS file (e.g. C:\New Folder\Test.log)

the command to be entered in Run Shell Command will be:

C:\”Program Files”\Esprida\Test.vbs C:\”New Folder”\Test.log
or
“cscript C:\”Program Files”\Esprida\Test.vbs C:\”New Folder”\Test.log”

NOTES for all examples:

1. adding opening and closing quotes and the term script in front of your command guarantees that the command will be executed with using the correct program. For example, if the extension .VBS had been reconfigured to automatically open Notepad.exe, the output log file would not be created.

2. Do not copy command from Microsoft Word and paste them directly into the Run Shell Command command window. MS Word uses curly quotes by default which are not supported at the command line interface for Microsoft Windows. All quotes must be standard ‘straight quotes’. A command with incorrect quotes will result in an execution error with a message like:

‘C:\”Program’ is not recognized as an internal or external command,
operable program or batch file.

It is best to create or validate all command involving quotes in another editor.

How can I determine the PID and VID for my USB Component?

There are many free tools available that list all of the USB devices on a computer and their pertinent information including PID and VID. One of these free tools that Esprida uses is USBDeview by Nirsoft. You can get a copy of this utility at:

http://www.nirsoft.net/utils/usb_devices_view.html

How do I add a USB Component to Esprida LiveControl?

Components are broken down into 3 types in Esprida LiveControl:

1. Peripherals: hardware devices such as printers, card readers etc. Peripherals can be further broken down into simple USB devices with simple Online / Offline characteristics or more complex devices with multiple states.

2. Applications: software running on the device

This article refers to the addition of USB peripherals with only two states: Connected and Not Connected.

For USB components to be properly monitored there are 2 core pieces required:

1. An agent side application that monitors the Microsoft Windows USB tree and then drops status messages into a specific Esprida LiveControl Agent folder.

2. Updates to the Esprida LiveControl Server that specify the new USB component’s critical information: the ComponentCode, the states the component can be in (Connected or Not Connected) and what the severity level is for each state (Normal and Error respectively).

For simple USB components, Esprida has created the USB Component Monitor application. This application is installed (optionally) during the installation of the Esprida LiveControl Agent. The USB Component Monitor application monitors the status of specified USB devices using their PID and VID numbers through the Windows USB tree and reports back on their connected status. The application scans an Esprida LiveControl Agent folder for a list of USB devices to monitor therefore it is easy to add or remove devices from being monitored by simply adding or deleting files from this folder.

To add your USB component to Esprida LiveControl, Esprida Support needs the following information for each new component:

a) Component Code (e.g. Magtek_mt215)
b) Component Name (e.g. Magtek MT215 MSR). This is the name that would appear on the user Interface of Esprida LiveControl
c) Component Description (e.g. Magtek MT215 Magnetic Stripe Reader). This is the name that would appear within the details of a state message from the device on the user Interface of Esprida LiveControl
d) The device VID the manufacturer’s vendor ID. It is an integer number up to 16 characters long.
e) The device PID the manufacturer’s product ID. It is an integer number up to 16 characters long.
f) Polling Interval the frequency in seconds for checking the USB device’s status

After submitting this information in a support ticket to Esprida Support.

1. Esprida will perform the steps to add your component to the Esprida LiveControl Server.

2. Esprida will update the ticket with an INI file required by the USB Component Monitor application to monitor the USB device. This file should be distributed to the agent using a generic digital content package through Esprida LiveControl Server. The file should be distributed to the C:\Program Files\Esprida\Esprida USB Component Monitor\components folder.

How do I add a Component (Application) to Esprida LiveControl?

Components are broken down into 3 types in Esprida LiveControl:

1. Peripherals: hardware devices such as printers, card readers etc. Peripherals can be further broken down into simple USB devices with simple Online / Offline characteristics or more complex peripherals with multiple states.

2. Applications: software running on the device.

This article refers to the addition of applications which have a defined list of 3 states: Running, Not Running and Not Responding.

For applications to be properly monitored there are 2 core pieces required:

1. An agent side application that monitors the list of running processes and then drops status messages into a specific Esprida LiveControl Agent folder.

2. Updates to the Esprida LiveControl Server that specify the new applications information: the ComponentCode, the different states the component can be in (Running, Not Running and Not Responding) and what the severity level is for each state (e.g. Normal, Warning or Error states).

The first piece (Agent side application) is core functionality available in the Esprida LiveControl Agent. The Agent knows how to review the list if running processes and identify the state the process is in.

The second piece (updating the Esprida LiveControl Server) is done by Esprida for our SaaS environment (https://livecontrol.esprida.com) or by your local system administrator if you are self-hosting the Esprida LiveControl Server. To add your application to Esprida LiveControl, Esprida Support needs the following information for each new application:

a) Component Code (e.g. internet_explorer)
b) Component Name (e.g. Internet Explorer). This is the name that would appear on the user Interface of Esprida LiveControl
c) Component Description (e.g. Microsoft Internet Explorer). This is the name that would appear within the details of a state message from the device on the user Interface of Esprida LiveControl
d) Executable Name (e.g. explorer.exe). This is the process as it appears in the ‘Image Name’ column in Microsoft Windows Task Manager

After submitting that information in a support ticket to Esprida Support:

1. Esprida will perform the steps to add your application to the Esprida LiveControl Server.

2. Esprida will update the ticket with the .properties file required by Esprida LiveControl Agent to monitor the process. This file should be distributed to the agent using a generic digital content package through Esprida LiveControl Server. The file should be distributed to the C:\Program Files\Esprida\Esprida LiveControl Agent\conf\component\eyeonappl folder.

For more information about the full requirements for applications, please consult the Component API document.

How do I add a Component (Peripherals) to Esprida LiveControl?

Components are broken down into 3 types in Esprida LiveControl:

1. Peripherals: hardware devices such as printers, card readers etc. Peripherals can be further broken down into simple USB devices with simple Online / Offline characteristics or more complex peripherals with multiple states.

2. Applications: software running on the device.

This article refers to the addition of peripherals with many states such as printers or check scanners.

For peripherals to be properly monitored there are 2 core pieces required:

1. An agent side application that talks with the peripherals and then drops status messages into a specific Esprida LiveControl Agent folder.

2. Updates to the Esprida LiveControl Server that specify the new peripherals critical information: the ComponentCode, the different states the component can be in (e.g. printer online, printer, out of paper, printer paper jam, etc.) and what the severity level is for each state (e.g. Normal, Warning or Error states)

The first piece (Agent side application) usually requires an understanding of the peripheral and may also require some development effort. The work can be done by you, through a professional services agreement with Esprida or through third party resources. Consult the Component API document available on the Support Portal under Releases & Documentations for an in depth description of the of the Component requirements.

The second piece (updating the Esprida LiveControl Server) is done by Esprida for our SaaS environment (https://livecontrol.esprida.com) or by your local system administrator if you are self-hosting the Esprida LiveControl Server. To add your peripheral to Esprida LiveControl, Esprida Support needs the following information for each new peripherals:

a) Component Code (e.g. Magtek_mt215)
b) Component Name (e.g. Magtek MT215 MSR). This is the name that would appear on the user Interface of Esprida LiveControl
c) Component Description (e.g. Magtek MT215 Magnetic Stripe Reader). This is the name that would appear within the details of a state message from the device on the user Interface of Esprida LiveControl

For each state that the peripherals will report indicate the following:

d) State Name (e.g. OnLine, OffLine, Out of Paper, Low on paper etc.)
e) State Severity Normal (Green)
Warning (Yellow)
Error (Red)

After submitting that information in a support ticket to Esprida Support;

1. Esprida will perform the steps to add your peripherals to the Esprida LiveControl Server.

2. Esprida will update the ticket with the exact Component Codes and State Codes required by the Agent side application.

For more information about the full requirements for peripherals, please consult the Component API document.

Why does the description for a component or component state on my device have ??? marks?

This condition exists when the component codes or state codes are recognized in the LiveControl Database, but the corresponding localization information has not been added to the Esprida LiveControl Server. The localization information is what is used to change the hard-to-read code into a more readable English description or into another language that may be supported on your Esprida LiveControl Server. If this occurs, please consult Esprida or your local administrator to resolve the problem.

What is a SmartGroup?

A SmartGroup is a user defined group of devices that are grouped according a common set of criteria. It can only be created under a SuperGroup and inherits all restrictions defined for the SuperGroup. SmartGroups can be created by general users to group dynamics groups of devices that match specific device attributes (e.g. geographic location, technical properties such as the device’s operating system, etc.). Devices can belong to multiple SmartGroups according to the criteria for each group and devices can move in or out of SmartGroups if the devices attributes are changed.

What is a SuperGroup?

A SuperGroup is a System Administrator defined group of devices that are grouped according a common set of criteria. It comes with its own access control privileges that can be assigned to a user by your System Administrator.

As an example, an organization could have devices spread across a country and would like to some user to only have access to devices in the eastern portion of the country and while other would only have access to devices in the western portion of the country. By creating an Eastern SuperGroup and Western SuperGroup, the System Administrator could restrict user access to one SuperGroup only but retain full access for themselves.

SuperGroups are used for the sole purpose of defining access allowed to any given set of devices therefore permissions to create SuperGroups is typically restricted to System Administrators.