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

眼镜

Excel 2007,VBA,Avaya CMS Supervisor R16.2

大约两年前,我汇集了一些脚本来自动化我们在Avaya所做的报告。 它一直在努力,但是这个周末出现了一些奇怪的问题,IT公司说我们把Avaya的连接从“networking”切换到“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并连接到服务器的脚本的一部分。 如果有人有任何线索,请与我分享。 再次,它与“networking”(端口23)连接正常工作,并不再使用“SSH”(端口22)。

脚本只是挂起,而不是产生任何types的有用的错误。 在Excel中,它返回一个“运行时错误”9:下标超出范围“,这只是一个基本的错误,如果它无法连接到Avaya来拉取数据。

提前致谢!

在与Avaya亲自交谈之后,我终于开始喋喋不休,因此我可以再次自动获得报告。 如果你遇到了同样的问题,这是我达到的解决scheme:

由于SSH阻止我们为Avaya创buildstream程,因此我们可以先启动stream程,然后抓取创build的stream程。 只需手动打开Avaya(双击Avaya CMS Supervisor的图标)并使用您的凭证login。 成功login后,请尽量减lessAvaya。

现在我们要稍微改变脚本:

REMOVE: 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") 

WITH:

 Set cvsSrv = cvsApp.Servers(1) 

我希望这可以帮助你全部。 它应该通过允许您使用已经打开的连接来解决问题,而不是让脚本在处理报告时在后台创build进程。 如果你不忘记先打开Avaya,那么一切都应该平稳运行。