Submit a ticketCall us

Webinar: Web Help Desk for HR, Facilities and Accounting Departments
This webinar will focus on use cases for HR, Facilities and Accounting.

Having a unified ticketing and asset management system for all the departments in your company can provide end-users with a seamless experience and make things easier for your IT team. Yet, with different business tasks and objectives, many departments don’t fully understand the capabilities of Web Help Desk and how the software can be customized for effective use in their departments.
Register Now.

Home > Success Center > Network Configuration Manager (NCM) > NCM 7.7 Administrator Guide > Sample CLI device command templates > Create a menu-based command template

Create a menu-based command template

Table of contents
No headers
Created by Caroline Juszczak, last modified by Anthony.Rinaldi_ret on Oct 03, 2016

Views: 30 Votes: 1 Revisions: 5

SolarWinds Network Configuration Manager supports the upload and download of configs on menu-based devices that do not have command line interfaces. SolarWinds NCM does not support execution of command scripts on exclusively menu-based devices, however.

All Telnet commands for menu-based devices should be described in the device command template XML file (*.ConfigMgmt-Commands). For more information about file contents, see Command template commands.

On some menu-based devices, such as Cisco SF300 LAN switches, menu item numbers can be used instead of arrow moves. For example, instead of assigning:


You could instead assign:

Value= "1$[ENTER]7$[ENTER]"

Login user name and password have to be sent as pre-command values instead of from the NCM Node Details configuration. 

To do this:

  1. Clear the user name and password fields for the node in Login Information.
  2. Set Enable to <No Enable Login>.
  3. Use the following pre-commands:

    <Command Name="PreCommand" Value="username${DownArrow}"/>

    <Command Name="PreCommand" Value="password${ENTER}"/>

The following example provides the values declared for menu-driven indirect transfer:

 <Command Name="RESET" Value=""/>
 <Command Name="Reboot" Value=""/>
 <Command Name="EnterConfigMode" Value=""/>
 <Command Name="ExitConfigMode" Value=""/>
 <Command Name="Startup" Value=""/>
 <Command Name="Running" Value=""/>
 <Command Name="DownloadConfigIndirect" Value="${Downarrow}${Downarrow}${Downarrow}${Downarrow}${Downarrow}${Downarrow}${Downarrow}${Downarrow}${Downarrow}${CRLF}${CRLF}${StorageFilename}${CRLF}${DownArrow}${StorageAddress}${CRLF}${DownArrow} ${CRLF}" Delay="300" RegEx="written"/>
 <Command Name="UploadConfig" Value=""/>
 <Command Name="EraseConfig" Value=""/>
 <Command Name="SaveConfig" Value=""/>
 <Command Name="Version" Value="${DownArrow}${DownArrow}${DownArrow}${DownArrow}${DownArrow}${DownArrow}${DownArrow}${DownArrow}${DownArrow}${DownArrow}${CRLF}" RegEx="Event Log"/>
 <Command Name="PreCommand" Value="${CTRL+Y}"/>

To create a menu-based device command template:

  1. Manually Telnet to your device to discover the precommands you must send before the device presents the login screen. Pre commands are used for any device which requires input before prompting for credentials. For example, when you connect to a router and before you are asked for password, you must press Enter to wake up the connection. Add the following line to the template:

    <Command Name="PreCommand" Value="${CRLF}"/>

  2. SolarWinds Network Configuration Manager also sends a Version command during the validate login action. To set this command value, complete the following:

    <Command Name="Version" Value="${DownArrow}${DownArrow}${CRLF}">

    RegEx="System Characteristic"


    <Command Name="Version" Value="${DownArrow}${DownArrow}${CRLF}" RegEx="System Characteristic" Delay="300" />

    1. To determine this command, find the option in the menu which shows device version information. For example, if the System Information menu shows device version information and to access this menu item you press the down arrow key twice and then press Enter, type the following line into the device command template:
    2. Find the string that is received when the command is complete. For example, if the command is complete when the device responds with System Characteristic, then you must add the following attribute to the command:
    3. Add a delay between keystrokes by adding the following attribute:
    4. The complete command line for the Version command is now:
  3. Access the configuration file menu, and then download a configuration manually. During this operation, note the keys you press to complete this process. For example, on a Nortel Baystack 552048T you would press the following keys to download a configuration:
    1. Down arrow, nine times: Highlights Configuration file menu item
    2. Enter: Opens Configuration file menu
    3. Enter: Opens file Download/Upload menu
    4. ConfigName + Enter: Sets the name of configuration file
    5. Down arrow + TFTP IP Address + Enter: Sets the TFTP server address
    6. Down arrow  + Space + Enter: Starts the downloading process
  4. Translate all these command into SolarWinds NCM variables. In this example, the following commands are used:







    ${DownArrow} ${CRLF}

    For a list of commands and their descriptions, see Command template commands.

  5. Find the string that is received when the command is complete. For example, the command is complete when the device responds with written. In this case, you must add the following attribute to the command: RegEx="written".
  6. Add a delay between keystrokes by adding the following attribute: Delay="300".
  7. The complete download command is as follows:

    <Command Name="DownloadConfigIndirect" Value="${Downarrow}${Downarrow}${Downarrow}${Downarrow}${Downarrow}${Downarrow}${Downarrow}${Downarrow}${Downarrow}${CRLF}${CRLF}${StorageFilename}${CRLF}${DownArrow}${StorageAddress}${CRLF}${DownArrow} ${CRLF}" Delay="300" RegEx="written"/>


Last modified
13:49, 3 Oct 2016