<h2>Command Validation Tool</h2><br/><div style="overflow-x:auto"><p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="font-size: 14.0pt; color: black;"><br />Command Validation Tool</span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;">What is the problem?</span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">There is no tool available, which allows users to run commands on range of IP Address(es). In the absence of such tool, the validation of commands on IP address(es) against the credentials present in the instance do not happen. In case of discovery failure, where certain commands did not execute as expected, majority of the times users are asked to perform such validations by running the command from the virtual machine where MID server is installed.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;">What are we doing?</span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">We have implemented an application, which allows users to run command(s) on a range of IP addresses belonging a certain operating system. Users also get to choose the MID server selection method for this operation. The output of this operation tells whether the execution is successful or not.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">All commands are available via a Command List, which is populated daily by parsing all the discovery patterns present in the instance. The Command List contains commands belonging to Shell, WMI and SNMP protocols.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;">How it is being resolved?</span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">With the introduction of the Command Validation Tool, which supports most popular operation types and protocols, users can run commands to validate them from within their ServiceNow instance.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Command Validation Tool supports the following operations:</span></p> <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="1" type="1"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Shell Command</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">WMI Query</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">SNMP Query (Tabular and Scalar)</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">SNMP Walk</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">HTTP GET (authenticated via Basic Authentication credentials)</li></ol> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Following MID selection methods are available:</span></p> <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="1" type="1"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Specific MID Server</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Auto Select MID Server</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Try All Eligible MID Servers</li></ol> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Users can provide IPv4 addresses as input in the following manner:</span></p> <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="1" type="1"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Comma separated IP Addresses</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">IP Range</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">IP Network</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Mix of all the above</li></ol> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Every command validation results with the following information:</span></p> <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="1" type="1"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Status: Success/Failure</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">State: pending/processing/done</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Result: Response from device/Reason for failure</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Credentials used for command validation</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">In case of failure: <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="1" type="a"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">ServiceNow Discovery specific error code</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Steps to troubleshoot based on the error code</li></ol> </li></ol> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;">Requirements and Use Cases:</span></strong></p> <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="1" type="1"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong>Troubleshooting Discovery Failures</strong>: In case of failures in Discovery, Command Validation Tool can be used to re-run failed commands on the corresponding IP addresses using the corresponding MID servers. This can be used to detect the following:</li></ol> <ol style="margin-bottom: 0cm; margin-top: 0px; list-style-position: inside;" start="1" type="a"><li style="font-family: 'Times New Roman', serif;">Authentication issue</li><li style="font-family: 'Times New Roman', serif;">Authorization/Permission Issue</li><li style="font-family: 'Times New Roman', serif;">No valid credentials present</li><li style="font-family: 'Times New Roman', serif;">IP not reachable from MID</li><li style="font-family: 'Times New Roman', serif;">Command with wrong syntax</li><li style="font-family: 'Times New Roman', serif;">Problems with MID configuration</li></ol> <p style="margin: 0cm 0cm 0cm 36pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="2" type="1"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong>Onboarding New Infrastructure to ServiceNow Pattern Based Discovery</strong>: Command Validation Tool can be used to onboard new infrastructure as it gives the ability to validate all commands in a chosen pattern. By doing that, users can make sure that the new added IP addresses are discovered via Patterns without major failures.</li></ol> <p style="margin: 0cm 0cm 0cm 36pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="3" type="1"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong>Bulk Execution of a Command</strong>: Command Validation Tool can be used to run any command (as long as it is available via the Command List) on a range of IPs to check for a certain configuration.</li></ol> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;">Note</span></strong><span style="color: black;">: The application supports Domain Separation.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;"> </span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;">Feature Flow:</span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Command Validation Tool is available via the <a title="Pattern Designer Enhancements" href="https://store.servicenow.com/sn_appstore_store.do#!/store/application/f73627bf89228510f877b828becf35e9/2.0.0?referer=%2Fstore%2Fsearch%3Flistingtype%3Dallintegrations%25253Bancillary_app%25253Bcertified_apps%25253Bcontent%25253Bindustry_solution%25253Boem%25253Butility%25253Btemplate%26q%3Dpattern%2520designer%2520enhancmenets&sl=sh" target="_blank" rel="noopener noreferrer"><span style="color: #0563c1;">"Pattern Designer Enhancements" store app</span></a>.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">To get Command Validation Tool, first install Pattern Designer Enhancements via the list of plugins:</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"><img src="/sys_attachment.do?sys_id=70e25d01935a7110057c7de86cba1092" width="451" height="254" border="0" /></span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">After the application is installed, once you refresh and search for ‘Command Validation Tool’ in the navigation menu, you will notice the relevant menu items:</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"><img src="/sys_attachment.do?sys_id=5de29d01935a7110057c7de86cba1020" width="347" height="209" border="0" /></span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Under Command Validation Tool, notice 4 modules:</span></p> <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="1" type="1"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Create New: To create a new Command Validation Task, which represent a single execution entity of Command Validation.</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Command Validation Tasks: To see the list of tasks</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Command Validation Task Results: To see the list of Command Validation Task Results.</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Commands List: Contains all commands (of type SHELL, WMI and SNMP) parsed from patterns.</li></ol> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;">Creating a new Command Validation Task:</span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Clicking ‘Create New’ opens the following form:</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><img src="/sys_attachment.do?sys_id=74e25d01935a7110057c7de86cba106f" width="452" height="225" border="0" /></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">The following information in required:</span></p> <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="1" type="1"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong>Mid Server Selection Method:</strong> Choose either of the 3 options which are: <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="1" type="a"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Specific mid server: you will be required. To choose the specific MID Server via the MID Server field.</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Auto Select mid server: first checks if the give IP has an affinity for a certain MID server by querying dscy_credentials_affinity table. If there is no affinity, it then selects the MID server whose configurational parameters have desired IP Range and Application set to include ‘Discovery’.</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Try all eligible mid servers: will select all MID servers which has affinity to the given IP Address and those whose configurational parameters have desired IP Range and Application set to include ‘Discovery’.</li></ol> </li></ol> <p style="margin: 0cm 36pt 0cm 0cm; text-align: right; direction: rtl; unicode-bidi: embed; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="font-family: Arial, sans-serif; color: black;"> </span></p> <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="2" type="1"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong>OS Class</strong>: Concerned OS (CMDB CI) class to which the IP addresses belongs. Users are expected to provide the correct OS Class, as this information is used by MID Server to decide which ports and protocol implementations to consider, when executing the command. Note that in case the wrong OS Class is provided, command execution will fail. Example: Choose Linux Server (cmdb_ci_linux_server) as OS Class when all IPs you entered as input are Linux servers.</li></ol> <p style="margin: 0cm 0cm 0cm 36pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="3" type="1"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong>Command Type</strong>: The type of command, you want to execute on the IP addresses. It can be Shell, WMI query, SNMP query, SNMP Walk or HTTP GET.</li></ol> <p style="margin: 0cm 0cm 0cm 36pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm 0cm 0cm 36pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Notes:</span></p> <ol style="margin-bottom: 0cm; margin-top: 0px; list-style-position: inside;" start="1" type="a"><li style="font-family: 'Times New Roman', serif;">Choose Command Type in such a way that it can be run on the chosen OS Server. The chosen IP Addresses should belong to the chosen OS Type. For example: you can’t run WMI Query on Linux Server.</li><li style="font-family: 'Times New Roman', serif;">HTTP Get command type only works when the credentials of API call is present as Basic Auth credentials. Token based credentials are not yet supported for this operation. This is also conveyed via field messages.</li></ol> <p style="margin: 0cm 0cm 0cm 36pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="4" type="1"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong>IP Addresses</strong>: Provide IP4 addresses as input in the following manner: <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="4" type="a"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Comma separated IP Addresses</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">IP Range (1.1.1.1-1.1.1.100)</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">IP Network (1.1.1.1/28)</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Comma separated IP Addresses, IP Range, and IP Network.</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">IP and port (for HTTP Get command only)</li></ol> </li></ol> <p style="margin: 0cm 0cm 0cm 16pt; text-indent: 20pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm 0cm 0cm 16pt; text-indent: 20pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Notes:</span></p> <ol style="margin-bottom: 0cm; margin-top: 0px; list-style-position: inside;" start="1" type="a"><li style="font-family: Arial, sans-serif;">Users can provide IP Addresses, which were not yet discovered via discovery and are not available in CMDB. In this case, the customer should have proper credentials for the IP address, stored in the credentials table, for the command executions to be successful.</li><li style="font-family: Arial, sans-serif;">The IP range and IP network will only work when you have ‘<a href="/sys_attachment.do?sys_id=16c6dc0247c17990f64de825126d43a4&sysparm_this_url=kb_knowledge.do%3Fsys_id%3Da6c5544e47817990f64de825126d4339%26sysparm_view%3DKB1123625%26sysparm_domain%3Dnull%26sysparm_domain_scope%3Dnull"><span style="color: blue;">ParseIPRanges</span></a>’ script-includes imported to your instance. Please refer to the Script include attached to this KB.</li></ol> <p style="margin: 0cm 0cm 0cm 36pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="5" type="1"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong>Commands</strong>: the list of commands to execute on the specified IP addresses, which can only be chosen from the Command List table. Clicking on search icon will show only those commands from Command List table as per the chosen ‘Command Type’ and ‘Applicable OS Class’ field.</li></ol> <p style="margin: 0cm 0cm 0cm 36pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Notes:</span></p> <ol style="margin-bottom: 0cm; margin-top: 0px; list-style-position: inside;" start="1" type="a"><li style="font-family: 'Times New Roman', serif;">The field message for ‘Commands’ tells you when the Command List was last updated, or if it is empty then how to populate it.</li><li style="font-family: 'Times New Roman', serif;">The syntax in which the command will be present in the Command List table is given below:</li></ol> <table class="MsoNormalTable" style="width: 621.5pt; border-collapse: collapse; border: none; margin-left: 6.75pt; margin-right: 6.75pt;" border="1" cellspacing="0" cellpadding="0" align="left"><tbody><tr style="height: 16.8pt;"><td style="width: 191.9pt; border: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Command Type</span></p> </td><td style="width: 222.45pt; border: solid windowtext 1.0pt; border-left: none; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Command Syntax</span></p> </td><td style="width: 171.8pt; border: solid windowtext 1.0pt; border-left: none; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">IP Syntax</span></p> </td></tr><tr style="height: 16.8pt;"><td style="width: 191.9pt; border: solid windowtext 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Shell</span></p> </td><td style="width: 222.45pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">command</span></p> </td><td style="width: 171.8pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">No change</span></p> </td></tr><tr style="height: 16.8pt;"><td style="width: 191.9pt; border: solid windowtext 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">WMI Query</span></p> </td><td style="width: 222.45pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">["Namespace"][space]"WMI Query"</span></p> </td><td style="width: 171.8pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">No change</span></p> </td></tr><tr style="height: 16.8pt;"><td style="width: 191.9pt; border: solid windowtext 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">SNMP Scalar Query</span></p> </td><td style="width: 222.45pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">oid</span></p> </td><td style="width: 171.8pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">No change</span></p> </td></tr><tr style="height: 33.6pt;"><td style="width: 191.9pt; border: solid windowtext 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">SNMP Tabular Query</span></p> </td><td style="width: 222.45pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">oid[space][comma separated column number],</span></p> </td><td style="width: 171.8pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">No change</span></p> </td></tr><tr style="height: 16.8pt;"><td style="width: 191.9pt; border: solid windowtext 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">SNMP Walk*</span></p> </td><td style="width: 222.45pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">oid</span></p> </td><td style="width: 171.8pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">No change</span></p> </td></tr><tr style="height: 16.8pt;"><td style="width: 191.9pt; border: solid windowtext 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">HTTP GET*</span></p> </td><td style="width: 222.45pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">httpEndpoint,</span></p> </td><td style="width: 171.8pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt;" valign="top"> <p style="text-align: center; margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">ip:port</span></p> </td></tr></tbody></table> <p style="margin: 0cm 0cm 0cm 36pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm 0cm 0cm 36pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm 0cm 0cm 36pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm 0cm 0cm 36pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm 0cm 0cm 36pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm 0cm 0cm 36pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm 0cm 0cm 36pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm 0cm 0cm 36pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm 0cm 0cm 36pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm 0cm 0cm 36pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">* Even though the tool has the capability to run ‘SNMP Walk’ and ‘HTTP GET’, the Command List table currently does not support them.</span></p> <p style="margin: 0cm 0cm 0cm 36pt; font-size: 12pt; font-family: Calibri, sans-serif;"> </p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="6" type="1"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong>Validate All Pattern Commands</strong>: Enable this checkbox if you want to run all the commands from a specific pattern against the specified IP(s). Once the user checks this, the ‘Commands’ field will be replaced by the ‘Pattern’ field and the Command validation task will be executed depending on the chosen pattern rather than commands.</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong>Skip Failover Command Steps</strong>: This checkbox gets enabled, when ‘Validate All Pattern Command’ checkbox is enabled. Checking this, would cause all skipping of all failover commands when command validation task is run to validate all pattern commands.</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong>Pattern</strong>: This field is hidden by default and shows only when ‘Validate All Pattern Commands’ checkbox is enabled. All the commands present in the selected pattern will be run against the specified IP(s). Currently, only Infrastructure and Application patterns are available to be chosen, as the Command List is populated with commands from these pattern types only.</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong>Select Hardware</strong>: Enabling this checkbox, will bring in a new field called ‘hardware’ and ‘Ip Addresses’ field will become hidden. The user can directly choose the Cis on which command validation needs to be run, rather than providing the ip addresses.</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong>Hardware</strong>: This field is hidden by default and will be visible when ‘Select Hardware’ checkbox is enabled. This field lets you select the hardware Cis as per the chosen OS class directly on which command validation is intended to run.</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong>Priority</strong>: The task with lower value will given high priority for execution by mid servers. The scheduler will pick the high priority Command Validation Task results record in pending state first.</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong>Credential</strong>: Specify a specific credential to use for validating the commands via the command validation task. This is optional. If not chosen, then the MID Server selects the proper credential to use based on affinity and order.</li></ol> <p style="margin: 0cm 0cm 0cm 36pt; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Note: This feature is only supported from Utah release and onwards, and supports Shell, WMI and SNMP operations.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"> </p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Once done, you can save the record, or immediately click on ‘Run Command Validation’ button to start command validation execution.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">After clicking the ‘Run Command Validation’ button, Command Validation Task Result records are created for every provided command, IP address and MID Server.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">For example: for 3 IP addresses, 2 commands and 1 MID Server configured in the task, 6 task results records are created.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Command Validation Task Result records are used to track the progress of Command Validation Task execution.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">State of the Command Validation Task Result Records:</span></p> <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="1" type="1"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Pending: Yet to be picked by scheduler and dispatched to MID server</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Processing: Scheduler has picked the record and dispatched to MID server for execution</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Done: The execution of command is completed, and result is created.</li></ol> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Task progress and status can also be monitored within the task record.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;">Schedule Command Validation Probe launch Job:</span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">The responsibility of this scheduled job to pick all pending Command Validation Task Results records, in a First-In-First-Out basis, on a regular interval (by default the scheduler is configured to run every 15 seconds) and send their content in batches (which is by default 10) to ECC queue via the Command Validation Probe. Users can customize the batch size and frequency as per their environment and instance and MID configuration.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"><img src="/sys_attachment.do?sys_id=cde25d01935a7110057c7de86cba1099" width="444" height="236" border="0" /></span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Use the following system property to configure the batch size:</span><span style="font-family: Arial, sans-serif; color: black;"> </span><span style="color: black;">command.validation.probe.batch.count</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;"> </span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;">Command List Table:</span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;"> </span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">This is introduced in Feb 2023 release.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">The table holds shell commands, WMI queries and SNMP queries present inside all Infrastructure and Application patterns, including their shared libraries and extension sections.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">From Aug 2023 release, the command list will also hold commands which contains temporary variables inside them. The temporary variables inside command start with ‘$’ and ends with ‘#’.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">The Command List acts as an Allow-List and is the pool of commands which customer can select while creating the Command Validation Task.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">The Command List is also used when the user chooses to perform ‘Validate All Pattern Commands’, as the Command Validation Tool takes all the commands in the Command List belonging to the selected pattern.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">The Command List table is delivered empty. It’s populated by one of two methods:</span></p> <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="1" type="1"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">A scheduled job, named “CVT-Populate CmdList and Mappings”, which runs once per day to keep the table up to date. Any changes made to patterns, either a step with new command is added or an existing step is deleted or modified, are being reflected by the end of the day, and no stale records are remained.</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Using the <u>‘Refresh Command List’</u> button present in the list view of the Command List table, for cases the user made some changes and wants the command list to immediately reflect them. Below is the screenshot of how the command list looks, with the ‘Refresh Command List’ button on top. Note that the population process takes a few minutes to complete.</li></ol> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"><img src="/sys_attachment.do?sys_id=09e29d01935a7110057c7de86cba1028" width="451" height="214" border="0" /></span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;"> </span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Notes:</span></p> <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="1" type="1"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">The population process for the Command List only parses for commands of type SHELL, WMI and SNMP.</li></ol> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;"> </span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;"> </span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;">Cancel Command Validation Task:</span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;"> </span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">This ability is introduced in February 2023 store release.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Once a command validation task is submitted, "Cancel Command Validation Task" button appears in the Command Validation Task Results related list, at the bottom of the Command Validation Task form. Clicking the button cancels all Command Validation Task Result records in pending state by changing their state to "cancelled". For those records, Command Validation Probe will not launch.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Note that command validation task results records in processing state are not cancelled since they're already being processed by a MID Server till they’re eventually completed.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"><img src="/sys_attachment.do?sys_id=bde25d01935a7110057c7de86cba107e" width="452" height="243" border="0" /></span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;">List Pattern Command:</span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;"> </span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">When the user opens the sa_pattern table and performs right click on any pattern, then they will see a new option ‘List Pattern Commands’, clicking on the same, will redirect to the Commands List table, where all the commands belonging to the chosen pattern will be listed. The user can further export the list.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">When the user opens a pattern record in the sa_pattern table, they will see a new UI action, with the same name as mentioned above , clicking on that will redirect to the Commands List table, where all the commands belonging to the chosen pattern will be listed. The user can further export the list.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;"><img src="/sys_attachment.do?sys_id=dde29d01935a7110057c7de86cba1032" width="452" height="216" border="0" /></span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;"> </span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;"><img src="/sys_attachment.do?sys_id=02e2dd01935a7110057c7de86cba1044" width="452" height="225" border="0" /></span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"> </p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;">Show Commands Action:</span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;"> </span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">‘Show Command’ related link is visible only when the ‘Validate All Command Patterns’ field is checked, and the task record is saved. Clicking on ‘Show Commands’ shows the list of commands that is configured to get executed as per the selected pattern in the Command Validation Task. This should help users to figure out what all commands are executed once command validation is submitted.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"><img src="/sys_attachment.do?sys_id=7de29d01935a7110057c7de86cba1038" width="451" height="220" border="0" /></span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;"> </span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;"> </span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;">Refresh Temporary Variable mappings:</span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">In case the user chooses commands from Command list which contains temporary variables, the mentioned UI action will populate all the temporary variables in the related table ‘Temporary Variable Mappings’. The temporary variables are populated per IP/host, as the value of the temporary variables varies per host. Every record populated in the ‘Temporary Variable Mappings’ table will contain the temporary variables, step name, patter name and IP address. Only 'value' field will be populated with ‘No Value’ as the initial value. The user needs to fill the 'value' field only. On adding/removing IP addresses or commands selected and on saving the task record and clicking on the UI action will add/remove records in Temporary Variables Mappings table as per IP and Command specified. In conclusion, the user needs to make sure to use the Ui action, if the commands chosen has temporary variables present in them.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Note:</span></p> <ol style="margin-top: 0cm; margin-bottom: 0cm; list-style-position: inside;" start="1" type="a"><li style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><br /> <ol style="margin-bottom: 0cm; margin-top: 0px; list-style-position: inside;" start="1" type="1"><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">Commands with temporary variables will only run for comma separated IP addresses and specifying IP ranges or IP network as input is not supported.</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">When running CVT with ‘Validate All Pattern Commands’, the commands containing temporary variable will be skipped and will not run. Only static commands will be run.</li><li style="color: black; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;">A Command with temporary variables will only run when values for all the temporary variables are specified in the Temporary Variable Mappings table.</li></ol> </li></ol> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"><img src="/sys_attachment.do?sys_id=c6e29d01935a7110057c7de86cba100a" width="452" height="228" border="0" /></span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;">Troubleshooting Failed Command Execution</span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Command Validation Tool gives users steps to troubleshoot in case command execution fails. Once Command Validation Task Result ends status “Failure”, opening the record's form exposes a related link by the name ‘Open Suggestions to troubleshoot failure’.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">When clicked, it opens a dialog box with suggestions on how to troubleshoot this failure. This suggestion is mapped to the error code present in the Command Validation Task Result record. Check the screenshot below.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Note that mappings of error codes to suggestions are delivered with the base system. There might be cases where error codes are not mapped to any suggestions. The message which appears in the dialog in such cases reflects that.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"><img src="/sys_attachment.do?sys_id=2ae25d01935a7110057c7de86cba10bc" width="452" height="171" border="0" /></span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;">Working Example:</span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">In the screenshot below, we configured Command Validation Task to run two shell commands, ‘date’ and ‘hostname’, on an IP address which belongs to a Linux server.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">We chose a specific MID Server to run on and didn’t choose a specific credential – we let the MID Server to choose one for us.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">The execution of both commands succeeded, and for each we’re able to see the result.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"><img src="/sys_attachment.do?sys_id=79e2dd01935a7110057c7de86cba1039" width="451" height="241" border="0" /></span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><strong><span style="color: black;">Release Information</span></strong></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;"> </span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Release: November 2023 Store</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Application version: 3.3.0</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Previous version: 3.1.0</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"><span style="color: black;">Note: This is the fifth release of this scoped application.</span></p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"> </p> <p style="margin: 0cm; font-size: 12pt; font-family: Calibri, sans-serif;"> </p></div>