Submit a ticketCall us

whitepaperYour VM Perplexities Called, and They Need You to Read This.

Virtualization can give you enormous flexibility with future workloads and can be a key enabler for other areas, like cloud computing and disaster recovery. So, how can you get a handle on the performance challenges in your virtual environment and manage deployments without erasing the potential upside? Learn the four key areas you need to be focusing on to help deliver a healthy and well-performing data center.

Get your free white paper.

Home > Success Center > Network Configuration Manager (NCM) > NCM Documentation > NCM 7.9 Administrator Guide > NCM Device 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: 556 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:


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 pre-commands 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 steps:
    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:

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

    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:

      RegEx="System Characteristic"

    3. Add a delay between keystrokes by adding the following attribute:


    4. The complete command line for the Version command is now:

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

  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