• Skip to main content
  • Skip to header right navigation
  • Skip to site footer

Roger Perkin

Network Automation Architect

  • Network Automation
    • Network Automation Courses
    • What is NetDevOps?
    • Workflow Orchestration
    • Ansible Automation Platform
    • Ansible Workshop
    • What is Network Automation?
    • Network Automation Tools
    • ContainerLab
    • Ansible Training
      • What is Ansible?
      • Ansible Tutorial for Beginners
      • Ansible Network Automation
      • Ansible Inventory Example
    • Python Network Automation
      • Nornir
      • Python Network Automation Course
      • Python for Network Engineers
      • Python VENV / Virtual Environment Tutorial
      • Python Tutorial for Beginners
      • pyATS
    • Network Source of Truth
      • NetBox
      • Infrahub
      • NautoBot
    • NetDevops
    • DevOps Tutorial
      • Git Training
      • Terraform Training
      • Linux Training
      • Kubernetes Training
      • Devops Training Course
      • Azure Devops Training
    • Terraform
    • GIT
      • Git Commands
      • What is GitHub?
    • Docker Training
    • Confluence
    • Microsoft Azure
  • Cisco
    • ISE
    • SD WAN Training
    • Password Recovery
    • Software-Upgrade-Guides
    • BGP
    • Data Center
    • WIRELESS
  • CCIE
  • Blog
  • About
    • My Red Special Guitar
  • Contact

How to automate loading INE rack details to SecureCRT

Home » CCIE Certification » CCIE Training

I have started to use a lot more ccie rack rentals from INE and currently use Secure CRT as my terminal client. At the moment I am using the tabbed screens and to set this up you need to enter a different username for each device.

Up until yesterday I was entering this info manually, so I went on the hunt for a script and found this blog post on the ieoc – ieoc.com/forums/p/18583/160329.aspx#160329 Credit for the work for my solution goes to runhegge, markus.wirth and Brian McGahan as they have all contributed to my final solution which is a collaboration of all the suggestions.

Don’t worry all the scripts are in a zip file at the bottom of the post.

To make this work you have to create a separate login script for each device and save it as r1.vbs, r2.vbs etc The login script looks like this

#$language = "VBScript"
#$interface = "1.0"
Sub Main()
crt.Screen.Synchronous = True
crt.Screen.Send VbCr
crt.Screen.WaitForString "sername:"
crt.Screen.Send "rsrack10r1" & VbCr
crt.Screen.WaitForString "Password:"
crt.Screen.Send "password" & VbCr
crt.Screen.Send VbCr
crt.Screen.Synchronous = False
End Sub

Save these all into a folder called INE scripts or whatever you want.

Under each device in SecureCRT under Logon Actions link the device to it’s associated login script, I  have mine stored on my google drive so it works from any device that I am using. i.e work / home

 

You now have a separate login script for each device, so when you login to that device it will use the username / password specified in the script. When you get a new rack rental your rack number and password changes, so you would have to update the details in in all the login scripts. Brian McGahan suggested using Ultra Edit which allows you to make changes to multiple files at the same time. And then runhegge put out the script below which does all this for you.

Save this script below as ine.cmd in the same folder as all your other login scripts

@echo off
cls
echo INE rsrackS
set INPUT1=
set INPUT2=
set /P INPUT1=Enter rsrack#:  %=%
set /P INPUT2=Enter Password: %=%
del R1.vbs
del R2.vbs
del R3.vbs
del R4.vbs
del R5.vbs
del R6.vbs
del SW1.vbs
del SW2.vbs
del SW3.vbs
del SW4.vbs
del BB1.vbs
del BB2.vbs
del BB3.vbs
del TS.vbs

REM R1

echo #$language = "VBScript" >> R1.vbs
echo #$interface = "1.0" >> R1.vbs
echo Sub Main() >> R1.vbs
echo crt.Screen.Synchronous = True >> R1.vbs
echo crt.Screen.Send VbCr >> R1.vbs
echo crt.Screen.WaitForString "sername:" >> R1.vbs
echo crt.Screen.Send "rsrack%INPUT1%r1" ^& VbCr >> R1.vbs
echo crt.Screen.WaitForString "Password:" >> R1.vbs
echo crt.Screen.Send "%INPUT2%" ^& VbCr >> R1.vbs
echo crt.Screen.Send VbCr >> R1.vbs
echo crt.Screen.Synchronous = False >> R1.vbs
echo End Sub >> R1.vbs

REM R2

echo #$language = "VBScript" >> R2.vbs
echo #$interface = "1.0" >> R2.vbs
echo Sub Main() >> R2.vbs
echo crt.Screen.Synchronous = True >> R2.vbs
echo crt.Screen.Send VbCr >> R2.vbs
echo crt.Screen.WaitForString "sername:" >> R2.vbs
echo crt.Screen.Send "rsrack%INPUT1%r2" ^& VbCr >> R2.vbs
echo crt.Screen.WaitForString "assword:" >> R2.vbs
echo crt.Screen.Send "%INPUT2%" ^& VbCr >> R2.vbs
echo crt.Screen.Send VbCr >> R2.vbs
echo crt.Screen.Synchronous = False >> R2.vbs
echo End Sub >> R2.vbs

REM R3

echo #$language = "VBScript" >> R3.vbs
echo #$interface = "1.0" >> R3.vbs
echo Sub Main() >> R3.vbs
echo crt.Screen.Synchronous = True >> R3.vbs
echo crt.Screen.Send VbCr >> R3.vbs
echo crt.Screen.WaitForString "sername:" >> R3.vbs
echo crt.Screen.Send "rsrack%INPUT1%r3" ^& VbCr >> R3.vbs
echo crt.Screen.WaitForString "assword:" >> R3.vbs
echo crt.Screen.Send "%INPUT2%" ^& VbCr >> R3.vbs
echo crt.Screen.Send VbCr >> R3.vbs
echo crt.Screen.Synchronous = False >> R3.vbs
echo End Sub >> R3.vbs

REM R4

echo #$language = "VBScript" >> R4.vbs
echo #$interface = "1.0" >> R4.vbs
echo Sub Main() >> R4.vbs
echo crt.Screen.Synchronous = True >> R4.vbs
echo crt.Screen.Send VbCr >> R4.vbs
echo crt.Screen.WaitForString "sername:" >> R4.vbs
echo crt.Screen.Send "rsrack%INPUT1%r4" ^& VbCr >> R4.vbs
echo crt.Screen.WaitForString "assword:" >> R4.vbs
echo crt.Screen.Send "%INPUT2%" ^& VbCr >> R4.vbs
echo crt.Screen.Send VbCr >> R4.vbs
echo crt.Screen.Synchronous = False >> R4.vbs
echo End Sub >> R4.vbs

REM R5

echo #$language = "VBScript" >> R5.vbs
echo #$interface = "1.0" >> R5.vbs
echo Sub Main() >> R5.vbs
echo crt.Screen.Synchronous = True >> R5.vbs
echo crt.Screen.Send VbCr >> R5.vbs
echo crt.Screen.WaitForString "sername:" >> R5.vbs
echo crt.Screen.Send "rsrack%INPUT1%r5" ^& VbCr >> R5.vbs
echo crt.Screen.WaitForString "assword:" >> R5.vbs
echo crt.Screen.Send "%INPUT2%" ^& VbCr >> R5.vbs
echo crt.Screen.Send VbCr >> R5.vbs
echo crt.Screen.Synchronous = False >> R5.vbs
echo End Sub >> R5.vbs

REM R6

echo #$language = "VBScript" >> R6.vbs
echo #$interface = "1.0" >> R6.vbs
echo Sub Main() >> R6.vbs
echo crt.Screen.Synchronous = True >> R6.vbs
echo crt.Screen.Send VbCr >> R6.vbs
echo crt.Screen.WaitForString "sername:" >> R6.vbs
echo crt.Screen.Send "rsrack%INPUT1%r6" ^& VbCr >> R6.vbs
echo crt.Screen.WaitForString "assword:" >> R6.vbs
echo crt.Screen.Send "%INPUT2%" ^& VbCr >> R6.vbs
echo crt.Screen.Send VbCr >> R6.vbs
echo crt.Screen.Synchronous = False >> R6.vbs
echo End Sub >> R6.vbs

REM SW1

echo #$language = "VBScript" >> SW1.vbs
echo #$interface = "1.0" >> SW1.vbs
echo Sub Main() >> SW1.vbs
echo crt.Screen.Synchronous = True >> SW1.vbs
echo crt.Screen.Send VbCr >> SW1.vbs
echo crt.Screen.WaitForString "sername:" >> SW1.vbs
echo crt.Screen.Send "rsrack%INPUT1%sw1" ^& VbCr >> SW1.vbs
echo crt.Screen.WaitForString "assword:" >> SW1.vbs
echo crt.Screen.Send "%INPUT2%" ^& VbCr >> SW1.vbs
echo crt.Screen.Send VbCr >> SW1.vbs
echo crt.Screen.Synchronous = False >> SW1.vbs
echo End Sub >> SW1.vbs

REM SW2

echo #$language = "VBScript" >> SW2.vbs
echo #$interface = "1.0" >> SW2.vbs
echo Sub Main() >> SW2.vbs
echo crt.Screen.Synchronous = True >> SW2.vbs
echo crt.Screen.Send VbCr >> SW2.vbs
echo crt.Screen.WaitForString "sername:" >> SW2.vbs
echo crt.Screen.Send "rsrack%INPUT1%sw2" ^& VbCr >> SW2.vbs
echo crt.Screen.WaitForString "assword:" >> SW2.vbs
echo crt.Screen.Send "%INPUT2%" ^& VbCr >> SW2.vbs
echo crt.Screen.Send VbCr >> SW2.vbs
echo crt.Screen.Synchronous = False >> SW2.vbs
echo End Sub >> SW2.vbs

REM SW3

echo #$language = "VBScript" >> SW3.vbs
echo #$interface = "1.0" >> SW3.vbs
echo Sub Main() >> SW3.vbs
echo crt.Screen.Synchronous = True >> SW3.vbs
echo crt.Screen.Send VbCr >> SW3.vbs
echo crt.Screen.WaitForString "sername:" >> SW3.vbs
echo crt.Screen.Send "rsrack%INPUT1%sw3" ^& VbCr >> SW3.vbs
echo crt.Screen.WaitForString "assword:" >> SW3.vbs
echo crt.Screen.Send "%INPUT2%" ^& VbCr >> SW3.vbs
echo crt.Screen.Send VbCr >> SW3.vbs
echo crt.Screen.Synchronous = False >> SW3.vbs
echo End Sub >> SW3.vbs

REM SW4

echo #$language = "VBScript" >> SW4.vbs
echo #$interface = "1.0" >> SW4.vbs
echo Sub Main() >> SW4.vbs
echo crt.Screen.Synchronous = True >> SW4.vbs
echo crt.Screen.Send VbCr >> SW4.vbs
echo crt.Screen.WaitForString "sername:" >> SW4.vbs
echo crt.Screen.Send "rsrack%INPUT1%sw4" ^& VbCr >> SW4.vbs
echo crt.Screen.WaitForString "assword:" >> SW4.vbs
echo crt.Screen.Send "%INPUT2%" ^& VbCr >> SW4.vbs
echo crt.Screen.Send VbCr >> SW4.vbs
echo crt.Screen.Synchronous = False >> SW4.vbs
echo End Sub >> SW4.vbs

REM BB1

echo #$language = "VBScript" >> BB1.vbs
echo #$interface = "1.0" >> BB1.vbs
echo Sub Main() >> BB1.vbs
echo crt.Screen.Synchronous = True >> BB1.vbs
echo crt.Screen.Send VbCr >> BB1.vbs
echo crt.Screen.WaitForString "sername:" >> BB1.vbs
echo crt.Screen.Send "rsrack%INPUT1%bb1" ^& VbCr >> BB1.vbs
echo crt.Screen.WaitForString "assword:" >> BB1.vbs
echo crt.Screen.Send "%INPUT2%" ^& VbCr >> BB1.vbs
echo crt.Screen.Send VbCr >> BB1.vbs
echo crt.Screen.Synchronous = False >> BB1.vbs
echo End Sub >> BB1.vbs

REM BB2

echo #$language = "VBScript" >> BB2.vbs
echo #$interface = "1.0" >> BB2.vbs
echo Sub Main() >> BB2.vbs
echo crt.Screen.Synchronous = True >> BB2.vbs
echo crt.Screen.Send VbCr >> BB2.vbs
echo crt.Screen.WaitForString "sername:" >> BB2.vbs
echo crt.Screen.Send "rsrack%INPUT1%bb2" ^& VbCr >> BB2.vbs
echo crt.Screen.WaitForString "assword:" >> BB2.vbs
echo crt.Screen.Send "%INPUT2%" ^& VbCr >> BB2.vbs
echo crt.Screen.Send VbCr >> BB2.vbs
echo crt.Screen.Synchronous = False >> BB2.vbs
echo End Sub >> BB2.vbs

REM BB3

echo #$language = "VBScript" >> BB3.vbs
echo #$interface = "1.0" >> BB3.vbs
echo Sub Main() >> BB3.vbs
echo crt.Screen.Synchronous = True >> BB3.vbs
echo crt.Screen.Send VbCr >> BB3.vbs
echo crt.Screen.WaitForString "sername:" >> BB3.vbs
echo crt.Screen.Send "rsrack%INPUT1%bb3" ^& VbCr >> BB3.vbs
echo crt.Screen.WaitForString "assword:" >> BB3.vbs
echo crt.Screen.Send "%INPUT2%" ^& VbCr >> BB3.vbs
echo crt.Screen.Send VbCr >> BB3.vbs
echo crt.Screen.Synchronous = False >> BB3.vbs
echo End Sub >> BB3.vbs

REM TS

echo #$language = "VBScript" >> TS.vbs
echo #$interface = "1.0" >> TS.vbs
echo Sub Main() >> TS.vbs
echo crt.Screen.Synchronous = True >> TS.vbs
echo crt.Screen.Send VbCr >> TS.vbs
echo crt.Screen.WaitForString "sername:" >> TS.vbs
echo crt.Screen.Send "rsrack%INPUT1%" ^& VbCr >> TS.vbs
echo crt.Screen.WaitForString "assword:" >> TS.vbs
echo crt.Screen.Send "%INPUT2%"  ^& VbCr >> TS.vbs
echo crt.Screen.Send VbCr >> TS.vbs
echo crt.Screen.Synchronous = False >> TS.vbs
echo End Sub >> TS.vbs

Then all you have to do is fire off ine.cmd – enter your rack number and password and the script will update all the login scripts for each device with the new device specific username and password.

Go to secure crt – open your folder, connect in tabs and they all connect, I might make a short video on this later but for now all the scripts are available below

INE rack rental SecureCRT scripts

As a side note before the exam I will be swapping over to Putty on an XP machine for the last few weeks of labbing, just to make sure I am ok with putty windows, I have not decided to go for windows or a session to the terminal server?

Category: CCIE TrainingTag: CCIE, CCIE Lab, rack rentals, securecrt
ansible course for network engineers
Get Access to my Ansible Course NOW
Previous Post:Travel arrangements for CCIE Lab Brussels
Next Post:CCIE Questions and Answers

Reader Interactions

Comments

  1. Ahmed Muhi

    March 17, 2014 at 3:06 am

    Thank you very much, it worked !

Sidebar

Hi I'm Roger Perkin,
Based in the UK working as a Network Automation Architect, CCIE #50038
About Roger | Twitter | Linkedin

python course for network engineers

Topics

Network Automation
Ansible
Python for Network Automation
CCIE
Cisco ISE
F5 Certification
BGP
OSPF
Network Automation Conferences
auvik promo banner
Pluralsight Trial

Git for Network Engineers

Ansible vs Nornir

Start learning today with my Network Automation Courses

Master Ansible, Python, Git, Nornir, Jenkins and more..


Buy me a coffeeBuy me a coffee

ansible network automation course

Have you seen my YouTube Channel?

YouTube Subscribe

Let’s get started

Take a look at my premium courses on Ansible, Nornir & Git or buy them all with the Network Automation Bundle!

Network Automation Courses

Navigation

Python VENV Tutorial
Python for Network Engineers

Network Automation
Network Automation Courses
Network Discovery Tools
Network Automation Conferences
Ansible Training
What is Ansible?
Devops Tutorial
Network Source of Truth
DevOps Glossary
Network Monitoring Software

Contact

Contact

Get in touch with me here

[email protected]

  • Twitter
  • LinkedIn
  • YouTube
Buy me a coffeeBuy me a coffee

Copyright © 2026 · Roger Perkin · All Rights Reserved · Privacy Policy – Terms