Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 704
  • Last Modified:

VBS Script Modification Pt5

Hello Experts,

The following script fails when it gets to the line 'crt.session.log True'. Its being used with an application called SecureCRT and its run on a number of tabs. Basically, the script will work fine on the first tab, but when it gets to another tab I get the error message CRT Scripting Runtime error, and then it says Logging already enabled.

I think its because script doesn't recognise that it should start afresh on a new tab.

I wonder if you could assist?

# $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("end", "term len 0")

    ' 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
            crt.Session.Log True
            For Each strCommand In arrCommands
                crt.Sleep 500
                objCurrentTab.Screen.Send strCommand & vbcr
           
                crt.Sleep 1000
            Next
        End If
    Next
End Sub
                                           

Cheers

Carlton
scripterror.jpg
0
cpatte7372
Asked:
cpatte7372
  • 6
  • 4
1 Solution
 
RobSampsonCommented:
Not sure, but if logging *is* already started, you might be able to change this:
crt.Session.Log True

to this
If crt.Session.Log = False Then crt.Session.Log True

Rob.
0
 
cpatte7372Author Commented:
Rob, thanks for responding, going to check it out now...
0
 
cpatte7372Author Commented:
Rob,

Getting the follow error message...
error3.jpg
0
Ask an Anonymous Question!

Don't feel intimidated by what you don't know. Ask your question anonymously. It's easy! Learn more and upgrade.

 
RobSampsonCommented:
OK, so according to here:
http://forums.vandyke.com/archive/index.php/t-1118.html

it doesn't look like you can check the logging state, but the code there just ignores errors and checks the error code when executing the crt.session.log True line.

Replace this:
            crt.Session.Log True

with something like
On Error Resume Next
Err.Clear
crt.Session.Log True
If Err.Number <> 0 Then
	If Err.Number = -2147155969 Then
		' Logging was already enabled
	Else
		' Some other error occurred while enabling logging
	End If
End If
Err.Clear
On Error GoTo 0

Open in new window

0
 
cpatte7372Author Commented:
Hi Rob,

Thanks again for responding. I will check it out shortly and let you know.

Cheers

Carlton
0
 
cpatte7372Author Commented:
Hi Rob,

Unfortunately, the script now only works on the firs tab, or should I say, 'it only works once', but doesn't work on other tabs. However, at least its not crashing this time.

I think we could be nearly there.....
0
 
cpatte7372Author Commented:
Got it working cheers...
0
 
RobSampsonCommented:
Thanks for the grade.  Would you mind explaining what you did to get it working?

Thanks,

Rob.
0
 
cpatte7372Author Commented:
Hi Rob,

If it's ok I will show you tomorrow - about to hit the sack.

Cheers
0
 
RobSampsonCommented:
Yeah, no problem. No rush.  It just helps others that may be having the same problem.

Rob.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 6
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now