VBS Script Manipulation and SecureCRT

Hello Experts,

This quest will need an expert proficient in VBS script and an application called SecureCRT.

Is it possible to have script that activate logging in all the separate tabs and log the out to a particular folder.

For example, in screenshot you can see there are five tabs with five different sessions. You can also see a folder in the 'Connect in Tab' dialogue box called GLBP Lab 58.

I would like help compiling a script that will activate the log session for each of the tabs and select the appropriate folder from where the session originated - in this case GLBP Lab 58


Just so as to start the ball rolling the following is a script that will log a single session, at a specified folder. Hopefully, an expert will be able to use this as baseline.
# $language = "VBScript"
# $interface = "1.0"

' This script sets a specific logfile, enables logging then connects
' to a server. After capturing the output of a command to the logfile
' logging is disabled and it disconnects.

Sub Main

  ' Set the name of the log file name "YYMMDD.log"
  '
  Dim logfile
  logfile = "C:\TEMP\mysession.log"
  crt.Session.LogFileName = logfile

  ' Enable logging
  '
  crt.Session.Log True

  ' Send a unix command. The output of the command will
  ' be captured to the logfile.
  '
  crt.Screen.Send "date" & vbCr

  ' Wait again for my login prompt or 5 seconds
  '
  crt.Screen.WaitForString "linux$", 5

  ' Turn off synchronous mode
  crt.Screen.Synchronous = false

  ' Stop logging and disconnect.
  '
  crt.Session.Log False
  crt.Session.Disconnect

End Sub

Open in new window


Cheers

Carlton
seccure2.jpg
cpatte7372Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

khairilCommented:
Hi,

I afraid my answer will not satisfy you. After went thru SecureCRT docs on scripting. I do not think that can be done. If you read all the property and method exposed by CRT object, there is nothing about folder it contains from. Thus the session will not know from what container (folder) it starts.

However, you still have a work around here. You can use the title of the Windows/Tab, what you need to do is to set each connection with additional windows propety, this can be done on connection properties->Appearance->Windows->Title Bar. You can grap this tab title propeties and use as variable for output folder.

 You then need to switch on next tab index to make it active so that the title will change to  new tab index title.

Just my 2 cent.
0
cpatte7372Author Commented:
khairil,

Thanks for taking time to research this issue on my behalf.

You're workout seems like my only option. Would you happen to know how I would go about grabbing the title properties and use it as a variable for the output folder?

Cheers
0
khairilCommented:
Hi,

You can get information on tab caption/title using tab object:

g_szTabCaption = objCurrentTab.Caption

Open in new window


You can go thru snippet as below to get information of session and caption. This is portion of code is modified from the sampel file in SecureCRT script folder (SendCommandToAllTabs.vbs):

Dim nIndex
Dim g_objTab
Dim g_szSkippedTabs
Dim g_szLogFile
Dim g_szTabCaption

For nIndex = 1 to crt.GetTabCount
    Set objCurrentTab = crt.GetTab(nIndex)
    objCurrentTab.Activate
    
    ' Skip tabs that aren't connected
    if objCurrentTab.Session.Connected = True then
        g_szTabCaption = objCurrentTab.Caption
        
        g_szLogFile = "C:\TEMP\" & g_szTabCaption & ".log"
        objCurrentTab.Session.LogFileName = g_szLogFile
        
    else
        if g_szSkippedTabs = "" then
            g_szSkippedTabs = nIndex
        else
            g_szSkippedTabs = g_szSkippedTabs & "," & nIndex
        end if
    end if
Next

Open in new window


Hope this help.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
cpatte7372Author Commented:
Cheers
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Scripting Languages

From novice to tech pro — start learning today.