Excel 2007 VBA - Avaya CMS - SSH 破坏脚本

Excel 2007 VBA - Avaya CMS - SSH broke scripts

规格

Excel 2007,VBA,Avaya CMS Supervisor R16.2

大约 2 年前,我拼凑了一些脚本来自动化我们在 Avaya 中所做的报告。它工作得很好,但这个周末发生了一些奇怪的问题,IT 说我们要将 Avaya 中的连接从 'Network' 切换到 'SSH.' IT 最终没有改变任何东西,只是说这似乎有效,并且他们同意这很奇怪,它才刚刚开始发生。不幸的是,我的脚本不再工作了,我不知道如何让它与 SSH 一起工作。

Dim cvsApp As New ACSUP.cvsApplication 'acsApp.exe
Dim cvsConn As New ACSCN.cvsConnection 'cvsconn.dll
Dim cvsSrv As New ACSUPSRV.cvsServer 'acsSRV.exe
Dim Rep As New ACSREP.cvsReport 'acsRep.exe
Dim Info As Object, Log As Object, b As Object
Dim InfoOB As Object, LogOB As Object, bOB As Object


cvsApp.CreateServer(UserName, "", "", serverAddress, False, "ENU", cvsSrv, cvsConn)
cvsConn.Login(UserName, passW, serverAddress, "ENU")

这是我访问 Avaya 并连接到服务器的脚本部分。如果有人对此有任何线索,请与我分享。同样,它在 'Network'(端口 23)连接下运行良好,并且不再与 'SSH'(端口 22)连接。

脚本只是挂起,而不是生成任何类型的有用错误。在 excel 它 returns 一个 "Run-time error '9': Subscript out of range" 这只是一个基本错误,如果它无法连接到 Avaya 以提取数据,就会发生这种错误。

提前致谢!

在亲自与 Avaya 交谈后,完全找不到解决方案,我开始进一步解决这个问题,以便再次使报告自动化。如果您 运行 遇到过同样的问题,这就是我找到的解决方案:

由于 SSH 阻止我们为 Avaya 创建进程,让我们通过先启动进程然后获取那些创建的进程来绕过它。只需手动打开 Avaya(双击 Avaya CMS Supervisor 图标)并使用您的凭据登录。成功登录后,最小化 Avaya。

现在我们要稍微修改一下脚本:

删除: Dim cvsConn As New ACSCN.cvsConnection

发件人:

Dim cvsApp As New ACSUP.cvsApplication 'acsApp.exe`
Dim cvsConn As New ACSCN.cvsConnection 'cvsconn.dll
Dim cvsSrv As New ACSUPSRV.cvsServer 'acsSRV.exe
Dim Rep As New ACSREP.cvsReport 'acsRep.exe
Dim Info As Object, Log As Object, b As Object
Dim InfoOB As Object, LogOB As Object, bOB As Object

替换:

cvsApp.CreateServer(UserName, "", "", serverAddress, False, "ENU", cvsSrv, cvsConn)
cvsConn.Login(UserName, passW, serverAddress, "ENU")

与:

Set cvsSrv = cvsApp.Servers(1)

希望对大家有所帮助。它应该通过允许您使用已经打开的连接来解决问题,而不是让脚本在处理报告时在后台创建进程。如果您没有忘记先打开 Avaya,那么一切都会 运行 顺利。