我有一个计划任务设置为运行R脚本通过启动Rscript.exe和感兴趣的文件。
当我使用该选项运行它时,此任务成功完成
“仅在用户login时运行”。
我需要安排任务运行没有我,所以我检查了选项:
“运行用户是否login”
并给了我的密码。
我需要testing这个,因此点击“运行”只看它立即失败,结果
为0x1
在脚本运行时有一个由R创build的日志文件,但是在创build日志之前,计划的任务明显失败。
我发现这个资源 ,说当任务不能成功运行时,“是否用户login”选项被选中。
考虑到这一点,我宁愿安排将来运行几分钟的任务。 在启动Rscript之前,该任务再次以0x1运行结果失败,从而创build一个日志。
我重复了这个过程并且重复了几次,结果每次都是一样的。
当我看到任务的属性时,我发现在1秒的时间内,它到达了“Action Completed”步骤,返回一个非零的返回码,失败的操作码为“(2)”。
任务定义是:
Action: Start a program Program/script: cmd Add arguments: /c E:/PROGRA~1/R/R-33~1.1/bin/Rscript.exe T://code//Forecast.R >> T://code//Forecast.log 2>&1
您需要具有“作为批处理作业login”的安全权限才能以用户身份运行任务。
pipe理工具 – >本地安全策略 – >本地策略 – >用户权限分配 – >作为批处理作业login。
我确定在事件查看器中,您将看到logintypes为4(批处理作业)的login尝试失败的安全事件。
我终于得到这个工作。
看来它经过了一些小小的改变,我不能确定哪一个是必要的,但这是我做的:
将所有文件(包括R脚本本身及其调用的.jar文件)从networking驱动器移到本地驱动器
遵循@Christopher_G_Lewis关于安全的build议,虽然我98%确定我的pipe理用户组已经给了我权限
select“运行用户是否login”,并确保不select“以最高权限运行”(这是我一直在打开和closures的东西)
设置第一个计划运行时间,以开始过去
检查所有的文件和文件夹的权限,以确保他们是非常自由的,不会妨碍
为了确保所有locking的文件,警告消息等都不会停止执行(尽pipe我认为这可能是不必要的,因为之前的运行和日志文件指示没有错误try()为我的脚本添加了很多error handling语句( try() ) )