2011-12-11 152 views
0

我一直有兴趣在SAS中找到替代UI的相当长一段时间。我们在我们的服务器上授权SAS而不是我们的桌面,所以我们还必须启动远程桌面应用程序来执行代码。在Python中使用Telnet连接批量执行SAS

我能够使用Telnet连接来远程连接服务器,并批量执行SAS程序。然后,我对是否可以远程连接python脚本以及批处理执行代码感兴趣,并且此脚本可以作为BeanShell脚本在jEdit中执行。

到目前为止,我有成功打开和关闭Telnet连接的Python代码。它可以执行基本的shell函数,如调用“dir”。但是,当我通过与远程服务器上的命令提示符在Python中使用telnet连接执行SAS完全相同的行时,没有任何反应。

是否有可能服务器阻止我从脚本执行代码?在运行任何代码之前,我对提示使用了“read_until”语句。

+1

是否包含在您的许可证中的企业指南?这是一个在服务器上执行代码的好用户界面。 –

+0

您可能想要使用'Telnet.set_debuglevel'来获得更多有关您在执行read_until调用时发生的情况的信息。 –

+0

@ CarolinaJay65我们在桌面上没有SAS。不确定关于企业指南,我不得不问大个子。 @ DavidK.Hess我正在尝试'打印tnobj.read_until(提示符)',它将所有的telnet输出提供给'直到我点击提示符,所以它看起来像我几乎将它管道到Python shell。我实际上没有得到任何错误,所以我不知道debuglevel会做什么。 – AdamO

回答

0

这里有一些想法...

您有以上的问题可能在Windows中(如果是在Windows服务器上运行)相关的本地安全策略设置。我远不是这方面的专家,但我记得老式的SAS/Intranet安装需要在那里进行一些破坏以使它们工作。

作为一种替代你想上面你也可以设置一个侦听传入套接字请求按这篇文章的服务器上的SAS会话的方式:

http://analytics.ncsu.edu/sesug/2000/p-1003.pdf

最后...不当然,如果这有助于我通过PSEXEC远程执行SAS作业。我如何设置这一切的描述可以在这里找到:

http://www.runsubmit.com/questions/260/hide-sas-batch-jobs-winxp

好运

+0

PsExec看起来很有前途,我试着执行一个小程序,但得到的访问被拒绝。我们的服务器目前已启用telnet,我以为PsExec使用。我尝试提供用户名和密码。任何想法为什么这是? – AdamO

+0

恩,不好意思。在[http://forum.sysinternals.com/pstools_forum8.html](http://forum.sysinternals.com/pstools_forum8.html)有一个相当活跃的psexec论坛,可能会有所帮助。 –

0

This paper概述了如何使用Python脚本使用SSH连接到UNIX服务器,复制SAS本地编写到服务器上的程序,批量提交它并将结果下载回本地机器,所有这些都使用jEdit的BeanShell宏脚本。