从远程计算机启动sas作业

时间:2014-08-01 16:18:31

标签: sas

我在运行Windows 2008 RS的服务器A上运行了一个调度程序。服务器B是Windows 2008 R2下的SAS服务器。如何从我的调度服务器启动SAS服务器上的作业?我可以使用sas.exe或批处理文件来开始我的工作。 SAS服务器的所有者告诉我,我无法将应用程序或Windows服务添加到SAS服务器。这甚至可能吗?

1 个答案:

答案 0 :(得分:3)

下面是我对一个稍微不同的问题的答案的副本(来源:http://www.runsubmit.com/questions/260/hide-sas-batch-jobs-winxp)。我在这里复制/粘贴它是永久性的,也因为它更有可能帮助人们搜索:


您可以使用PsExec,它是Microsoft / Sysinternals实用程序列表的一部分。此文件将在调度服务器上运行。从这里抓住它:

http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

该工具旨在允许您在远程计算机上执行作业。例如,如果要从命令行启动SAS程序,则可以运行:

psexec \\machinename sas.exe -sysin remotedrivename:\remotefolder\myprogram.sas

这将在远程计算机上启动SAS.EXE并运行远程计算机上存在的提供的程序。当它启动SAS时,它似乎在PsServ服务中启动它。因为它在服务中运行,所以不会显示任何界面。我甚至不确定您是否会将其视为自己在Windows任务管理器中的流程或应用程序。如果您使用SysInternals其他程序ProcessExplorer而不是任务管理器,您可以看到这种情况发生。

请注意,REMOTE MACHINE和LOCAL机器可​​以是同一台机器。

PROS:此技术的许多其他用途。它是免费的。 PsExec仅在拨打电话的机器上需要,而不是两台机器。

缺点:这是一个迂回做事的方式。需要安装第三方程序(虽然它现在是一个MS工具)。某些防病毒程序/网络管理员可能不允许这样做。

请注意,如果您的SAS作业访问网络资源,那么您可能需要首先使用net map命令使网络资源可用。我建议您在批处理文件中运行您的sas作业(或使用SAS文件中的' x'命令来调用' net use'命令):

从本地机器执行的命令:

psexec \\machinename -sysin remotedrivename:\remotefolder\myprogram.BAT

远程计算机上批处理文件的内容:

net use m: \\fileserver\sharedfolder /USER:mynetworkdomainname\myusername mypassword
sas.exe -sysin remotedrivename:\remotefolder\myprogram.sas
net use m: /delete