前言
在ADSKN后端服务器中,计划任务被用来在系统启动后,未登录操作系统的时候启动后端主服务(通过一个已经预先编译好的批处理文件(.bat)来执行)。
但在第一次的实际操作过程中,发现建好计划任务后,执行出现0x1错误、0x8007010B错误以及0x41301错误。
接下来我会告诉大家如何新建一个能够完美运行的计划任务,如果你也遇到过类似的问题,按照我的步骤来做即可。
Windows
计划任务
一、定义:
计划任务是系统的常见功能,利用任务计划功能,可以将任何脚本、程序或文档安排在某个最方便的时间运行。任务计划在每次系统启动的时候启动并在后台运行。
二、官方给出的作用:
当我们需要在服务器上定时执行一些重复性的事件时使用的,可以通过计划任务程序来运行准备好的脚本、批处理文件夹、程序或命令,在某个特定的时间运行。
三、ADSKN后端中,计划任务的作用
用于在系统重启后,能够在不登录的情况下(开机输入密码),由系统自动启动ADSKN短链接主业务。
四、用法
注:本教程以Windows Server 2016 数据中心版操作系统为例,此系统由Windows 10系统迁移而来,Win10中操作方法与本教程类似,部分内容仅在Windows Server 2012版本(对应Win8)后才生效,此类内容我会单独注明。
(一)创建计划任务
1.打开“控制面板”,找到“系统和安全”,点击“管理工具”中的“计划任务”。
2.根据需求选择“创建基本任务”或“创建任务”
注:如果需要启动某些必须启动的环境,则创建基本任务,如果只是打开某些程序,则创建普通任务即可,因为ADSKN主服务为普通程序,因此创建普通任务
3.进入创建页面后,名称按照自己的想法来取即可。下方的安全选项中,如果你使用的是Windows Server系统,建议更改用户为Administrator,因为我们要求主程序在用户登录前就启动,因此,我们要选中“不管用户是否登录都要运行”,并勾选“使用最高权限运行”。
4.基本内容设定好后,点击“触发器”选项卡,点击“新建”(我之前已经设定好一个触发器了,所以这里不是空白)
因为我们需要主程序不用用户登录就启动,因此“开始任务”选择“启动时”,其他内容不用更改,完成后点击“确定”
5.(重要)触发器设置完成后,点击操作选项卡,然后点击“新建”
在编辑页面中,默认选择操作为“启动程序”(这玩意儿也改不了),然后在“程序或脚本”中,填入绝对定位路径(如果不懂什么是绝对定位路径,那就直接点“浏览”然后找到你的bat文件就可以)。接下来是重点!在“起始于”后面的输入框中,输入你bat文件的所在目录的路径!也就是,把你上边的绝对定位的路径复制下来,然后把你bat文件的文件名删掉,同时删掉文件名前面的反斜杠!如果不删掉反斜杠或文件名,会出现0x8007010B错误,如果不填“起始于”后面的目录路径,会出现0x1错误,Windows Server 2012(Win8)以后的版本才需要填写“起始于”,以前的版本不需要填写。
6.后面的“条件”选项卡和“设置”选项卡请自行按需设置。
7.还没完呢~,你还得设置登录用户在未登录之前的权限问题。否则会出现0x41301错误。接下来,请打开“控制面板”——“管理工具”——“本地安全策略”(目前已知Windows Server 2003(WinXP)往后的系统都有。在“本地安全策略”中,依次点击“本地策略”——“用户权限分配”——“作为批处理作业登录”
然后把自己的用户名输进去,点击确定即可。
站长の说明
这个操作方法,最后实现的效果比较类似于将程序作为服务启动,但是并不是服务,并且启动后,即使你登录了系统,也不会看到bat的命令行界面。最好能够设置一个检测程序运行的方法(比如开放一个能够直接反馈的API,在浏览器上直接进行查询)。
领取专属 10元无门槛券
私享最新 技术干货