TPC - Terminal Plugin Controller - FAQ (2024)
TPC - Terminal Plugin Controller - FAQ (2024)
What is TPC?
TPC is our upgraded solution to replace PMTerminal. We can change the plugins without affecting
the current structure. For example, we can keep the process and prompts text files and replace only
the engine.
TPC functions as both a platform for creating state machine plugins, and as an engine for running
these plugins (interpreter). It supports communication protocols SSH and Telnet. In addition,
provides the ability to interact with common scripting languages, such as Python, PowerShell, and
cScript.
The CPM calls the TPC.exe and provides the following input:
• Action (can be one of the following - logon, verify, change, prereconcile, reconcile)
• User parameters file (containing policy parameters and file categories)
For example:
• It then waits for the process to end and in case of a failure, writes the error message in the
TPLog.
o Logon
o Verify
o Change password
o PreReconcile
o Reconcile
https://cyberark-customers.force.com/mplace/s/#a3550000000El8nAAC-a3950000000jju7AAA
2) Transfer zipped file to the CPM (create a temporary folder and unzip it in that folder)
6) Run the following command, this will unblock any file on the bin folder.
https://docs.cyberark.com/PAS/13.2/en/Content/SDK/TPC-
promps.htm?tocpath=Developer%7CCreate%20extensions%7CCreate%20CPM%20plugins%7CTermi
nal%20Plugin%20Controller%7C_____1
https://docs.cyberark.com/PAS/13.2/en/Content/SDK/TPC-
process.htm?tocpath=Developer%7CCreate%20extensions%7CCreate%20CPM%20plugins%7CTermi
nal%20Plugin%20Controller%7C_____2
Basic Troubleshooting
- How to enable debug logs (process/prompt file names within the platform)
- pm.log
- pm_error.log
- PMTrace.log
- PMConsole.log
Action:
Error:
Action:
Error:
Invalid syntax for Invoke command. Valid usage: '(Invoke) "<DLLPath>" "<Action>"'.
Action:
Error:
Action:
Action:
Error:
Action:
Error:
No states were found in the process file. Make sure the plugin contains at least 1 state.
Action:
Review the plugin's process file and make sure the states section is valid
Error:
Action:
Error:
Allowed characters list can't be empty, line '{line}'.
Action:
Error:
Action:
• Update the relevant parameter. Make sure it doesn't contain any characters which are
invalid in Windows file names.
Error:
Action:
Error:
Action:
Error:
Not able to detect the exe file name from the spawn command '{command value}'
Action:
• Locate the command in the process file
• Update the spawn command
Error:
Action:
Error:
Action:
Error:
Action:
Error:
No failure states were found in the process file. Make sure the plugin contains at least 1 failure
state.
Action:
Action:
Error:
Action:
• Ensure that all required ini files are in the same folder as the TPC. The required ini files are:
• Process
• Prompts
• User
Error:
Invalid command line argument. Valid action values are logon, verifypass, changegpass,
prereconcilepass, and reconcilepass
Action:
Error:
Invalid syntax for fail keyword, value <Line>. Syntax: FAIL (Message,Return code)
Action:
• Fix the relevant line in the Process file. A Fail state must be written in the following way:
• <State Name>=FAIL(<Message>,<Return Code>)
Error:
Prompt definition does not exist. Prompt name: <Prompt Name>. Define the prompt in the prompts
file
Action:
• Add the missing prompt in the prompts file or remove the use of the prompt.
Error:
State definition does not exist. State name: <State Name>. Define the state in the process file's
[States] section
Action:
• Define the state in the process file under the [States] section or remove the use of the state.
Error:
Action:
• Fix the relevant line in the Process file. A transition must be written in the following way:
Error:
Invalid command line argument. Syntax: CyberArk.TPC.exe <CPM parameters file> <Action>
Action:
Error:
Parameter '<Parameter name>' is mandatory but does not exist or has an empty value.
Action:
Process and Prompts file names cannot be empty. Make sure the 'ProcessFileName' and
'PromptsFileName' parameters contain valid values
Action:
• Ensure that valid values are entered in the ProcessFileName and PromptsFileName
parameters in the platform under Automatic Password Management > Additional Policy
Settings.
Error:
No failure states were found in the process file. Make sure the plugin contains at least one failure
state
Action:
Ensure that the process file contains at least one failure state.
Error:
Action:
• The plugin process failed to find a match prompt that was returned from the device.
• Refer to the logs for information on the state on which this occurred.
• Update the plugin to support this type of prompt by adding a new prompt or updating an
existing prompt.
Error:
Invalid syntax for script command, value '<Command>'. Syntax: set <ParameterName>
"<Value>";
Action:
• Fix the relevant line in the Process file. A set command must be written in the following
way:
• set <ParameterName> "<Value>";
Error:
Cannot proceed to next state since none of the conditions were met. Refer to log for more
information
Action:
• The plugin process failed to find a match for the next state.
o Refer to the logs for information on the state and prompton which this occurred.
o Update the plugin to support a FAIL state for this type of prompt.
Error:
Action:
Error:
Action:
• Refer to the logs for more information. If this error continues, contact your CyberArk
representative.
Error:
Invalid syntax for CPM Parameters validation rule 'rule'. Valid values: Yes, No or TCL Expression.
See documentation for TCL Expression examples.
Original message:
Invalid syntax for CPM Parameters Validation rule '<Command>'. Valid values: Yes, No or
(expression)[string equal -nocase "<parameter name>" "<expected value>"]"
Action:
• Fix the relevant line in the Process file. A validation command must be written in the
following way:
o Yes
o No
o (expression)[string equal -nocase "<parameter name>" "<expected value>"]"
Error:
Action:
Error:
Action:
Error:
Script variable <Variable Name> was not set. Modify the plugin process file and set the variable
Action:
Error:
Action:
Issue: Older version of Credentials Management .NET SDK is being used with a newer version of TPC
Description: TPC relies on functionality built into the Credentials Management .NET SDK. If it is an
older version of Credentials Management .NET SDK is in use, it may be missing methods necessary
for the newer version of TPC
Resolution: Update to the latest version of Credentials Management .NET SDK from the Marketplace
Issue: TPC is executing too quickly and the sends are not reaching the target system
Description: If TPC sends key strokes too quickly on slower network connections or target systems,
some characters may be missed the command lost all together which results in failure of the state
Resolution: Use SendHumanMin and SendHumanMax values to adjust the send speed (See
KB: https://cyberark-customers.force.com/s/article/TPC-SendHuman-commands or https://cyberark-
customers.force.com/s/article/CPM-TPC-SendHumanMin-SendHumanMax-usage)
Issue: TPC exe and dlls are blocked due to being downloaded from the internet
Description: When executable files are downloaded from the internet through a browser, they are
often marked with a "Zone.Identifier" alternate data stream. This prevents them from being loaded
on the operation system until they are "unblocked"
Resolution: Unblock the files by either right-click and going to Properties and selecting "Unblock",
or by using PowerShell and the Unblock-File cmdlet (See KB: https://cyberark-
customers.force.com/s/article/DNA-does-not-work-when-downloaded-from-the-internet)
Issue: TPC fails to spawn executables if one of the properties passed to the spawn command
contains EXE
Description: There is a bug in TPC where it incorrectly evaluates the spawn command if EXE is
contain in one of the passed properties. IE in the username or address
Resolution: Workaround is to use values that do not have exe in them. IE if the problem value is
address, it might be possible to use IP instead (See Bugs 00015883 and 00019041)
https://docs.cyberark.com/PAS/13.2/en/Content/PASIMP/Plug-in-Terminal-Plugin-
Controller.htm?tocpath=Developer%7CCreate%20extensions%7CCreate%20CPM%20plugins%7CTerminal
%20Plugin%20Controller%7C_____0
How can I test logging in using the same SSH client as TPC outside of the TPC process?
https://cyberark-customers.force.com/s/article/CPM-How-can-I-test-logging-in-using-the-same-SSH-
client-as-TPC-outside-of-the-TPC-process
CACPM344E - Error: Invalid prompt or did not receive any prompt. State: "StartSessionSSH". code:
7001
https://cyberark-customers.force.com/s/article/CPM-CACPM344E-Error-Invalid-prompt-or-did-not-
receive-any-prompt-State-StartSessionSSH-code-7001-plug-in-cannot-work-with-old-cached-key-The-
server-s-host-key-does-not-match-the-one-PuTTY-has-cached-in-the-registry
Can't change/verify password on UNIX Server - First login - Unable to connect to machine
https://cyberark-customers.force.com/s/article/00002461
TPC Top 10
https://ca-il-confluence.il.cyber-ark.com/display/GS/TPC+Top+10