Solved

VBS Script Modification Pt2

Posted on 2012-03-10
5
525 Views
Last Modified: 2012-03-16
Hello Experts,

An expert helped compile the following text. However, when the commands are executed they are run one at a time, but I would like the commands to full complete before moving to another tab. I've already had help with a similar issue and all I would like is to have the similar issue applied to this situation.

So, the following is the script that I would like modified:

# $language = "VBScript"
# $interface = "1.0"
' SendToAll.vbs

Sub Main()
   
    if Not crt.Session.Connected then
        szSession = crt.Dialog.Prompt("Enter session:", "", "", False)
        if szSession = "" then exit sub
   
        crt.Session.ConnectInTab("/S " & szSession)
        crt.Session.ConnectInTab("/S " & szSession)
        crt.Session.ConnectInTab("/S " & szSession)
    end if

    ' Find out what should be sent to all tabs
    szCommand = crt.Dialog.Prompt("Enter command to be sent to all tabs:", _
                                  "Send To All Connected Tabs", "ls", False)
    if szCommand = "" then exit sub
   
    If crt.Dialog.MessageBox(_
        "Are you sure you want to send the following command to " & _
        "__ALL__ tabs?" & vbcrlf & vbcrlf & szCommand, _
        "Send Command To All Tabs - Confirm", _
        vbyesno) <> vbyes then exit sub
   
    ' Connect to each tab in order from left to right, issue a command, and
    ' then disconnect...
    aryCmds = Split(szCommand, "|")

    For Each strOneCmd In aryCmds
        For nIndex = 1 to crt.GetTabCount
            Set objCurrentTab = crt.GetTab(nIndex)
            objCurrentTab.Activate
            if objCurrentTab.Session.Connected = True then
                crt.Sleep 500
                objCurrentTab.Screen.Send strOneCmd & vbcr
                crt.Sleep 1000
            end if
        Next
    Next
   
    MsgBox "The following command was sent to all connected tabs:" & vbcrlf & _
        vbcrlf & szCommand

End Sub
                 

The following is the script that I would like applied to the above. The expert that helped with the following script is called Shift-3 but I'm not sure if he's going to be available;


# $language = "VBScript"
# $interface = "1.0"
' SendToAll.vbs

Sub Main()
   
    if Not crt.Session.Connected then
        szSession = crt.Dialog.Prompt("Enter session:", "", "", False)
        if szSession = "" then exit sub
   
        crt.Session.ConnectInTab("/S " & szSession)
        crt.Session.ConnectInTab("/S " & szSession)
        crt.Session.ConnectInTab("/S " & szSession)
    end if
   
    arrCommands = Array("term len 0", "show run", "show ip inte brief", "show cdp neigh",_
        "show spanning-tree summary", "show vlan-switch brief", "show spanning-tree brief",_
        "show spanning-tree uplinkfast", "show spanning-tree blockedports",_
        "show vtp status", "show interfaces trunk", "show standby brief", "show ip route",_
        "show ip ospf interface", "show ip ospf neigh", "show ip ospf",_
        "show ip ospf summary-address", "show ip ospf border-routers", "show ip bgp",_
        "show ip bgp summary", "show ip bgp neighbor", "show ip bgp vpnv4 all",_
        "show ip cef summary")

    ' Send commands to all tabs
    ' Connect to each tab in order from left to right, issue all commands, and
    ' then disconnect...
    For nIndex = 1 to crt.GetTabCount
        Set objCurrentTab = crt.GetTab(nIndex)
        objCurrentTab.Activate
            
        If objCurrentTab.Session.Connected = True Then
            For Each strCommand In arrCommands
                crt.Sleep 500
                objCurrentTab.Screen.Send strCommand & vbcr
                crt.Sleep 1000
            Next
        End If
    Next
End Sub
                                           

As you can see the script by shift-3 allows the commands to be fully completed before moving to the next tab. I would like that applied to the new script.

I hope that makes sense.

Cheers
0
Comment
Question by:cpatte7372
  • 4
5 Comments
 

Author Comment

by:cpatte7372
Comment Utility
So Experts,

I think the section of the script I needed to be applied to the new script is the following:

' Send commands to all tabs
    ' Connect to each tab in order from left to right, issue all commands, and
    ' then disconnect...
    For nIndex = 1 to crt.GetTabCount
        Set objCurrentTab = crt.GetTab(nIndex)
        objCurrentTab.Activate
           
        If objCurrentTab.Session.Connected = True Then
            For Each strCommand In arrCommands
                crt.Sleep 500
                objCurrentTab.Screen.Send strCommand & vbcr
                crt.Sleep 1000
            Next
        End If
    Next
End Sub
                       

I think

Cheers
0
 

Author Comment

by:cpatte7372
Comment Utility
I should also mention that script is be run an application called SecureCRT.

Cheers
0
 

Accepted Solution

by:
cpatte7372 earned 0 total points
Comment Utility
As I haven't heard from any experts, I'm going to assume that its because I haven't explained myself well enough, as I'm sure there experts that can help me out here.

So, the script is used on and application called SecureCRT.

When the script run and I enter the commands, show a|show b|show c instead of executing all three commands in one shot the script will execute one after the other for each tab that I may have open. So if I have four tabs open in the applicaton the command once for each tab, however I would like it run all the commands in one show for each tab

I added a script that I thought might help an expert help me, but I still haven't had any response.


The script that needs modification is:

# $language = "VBScript"
# $interface = "1.0"
' SendToAll.vbs

Sub Main()
   
    if Not crt.Session.Connected then
        szSession = crt.Dialog.Prompt("Enter session:", "", "", False)
        if szSession = "" then exit sub
   
        crt.Session.ConnectInTab("/S " & szSession)
        crt.Session.ConnectInTab("/S " & szSession)
        crt.Session.ConnectInTab("/S " & szSession)
    end if

    ' Find out what should be sent to all tabs
    szCommand = crt.Dialog.Prompt("Enter command to be sent to all tabs:", _
                                  "Send To All Connected Tabs", "ls", False)
    if szCommand = "" then exit sub
   
    If crt.Dialog.MessageBox(_
        "Are you sure you want to send the following command to " & _
        "__ALL__ tabs?" & vbcrlf & vbcrlf & szCommand, _
        "Send Command To All Tabs - Confirm", _
        vbyesno) <> vbyes then exit sub
   
    ' Connect to each tab in order from left to right, issue a command, and
    ' then disconnect...
    aryCmds = Split(szCommand, "|")

    For Each strOneCmd In aryCmds
        For nIndex = 1 to crt.GetTabCount
            Set objCurrentTab = crt.GetTab(nIndex)
            objCurrentTab.Activate
            if objCurrentTab.Session.Connected = True then
                crt.Sleep 500
                objCurrentTab.Screen.Send strOneCmd & vbcr
                crt.Sleep 1000
            end if
        Next
    Next
   
    MsgBox "The following command was sent to all connected tabs:" & vbcrlf & _
        vbcrlf & szCommand

End Sub

Open in new window



Your help will be greatly appreciated....

Cheers

Carlton
0
 
LVL 42

Expert Comment

by:sedgwick
Comment Utility
what is the error?
which line>?
0
 

Author Closing Comment

by:cpatte7372
Comment Utility
I figured out the solution myself
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

It is a general practice to get rid of old user profiles on a computer  in a LAN environment. As I have been working with a company in a LAN environment where users move from one place to some other place at times. This will make many user profil…
Whether you’re a college noob or a soon-to-be pro, these tips are sure to help you in your journey to becoming a programming ninja and stand out from the crowd.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

5 Experts available now in Live!

Get 1:1 Help Now