【问题标题】:service to perform scheduled task operation执行计划任务操作的服务
【发布时间】:2020-06-01 18:17:31
【问题描述】:

是否可以使用另一个批处理文件作为参数从 Windows 批处理文件创建 Windows 计划任务:

For eg : schtasks.exe /create /tn "taskName" /tr "%Home%\bin\bootstrap.cmd" /sc DAILY /st 00:01:00 /ri 1 /du 0023:59 %schTaskAccountArgs%"

背景
上面脚本中的批处理文件'bootstrap.cmd' 调用了其他批处理文件,最终调用了一个exe。它会在 Microsoft 控制台中创建一个触发相同 exe 的计划任务,但在我的情况下,由于 GPO 策略,无法创建计划任务 (策略无法存储运行计划作业的用户)。作为一种解决方法,我想在同一个批处理文件中创建一个服务,方法是将上面的内容替换为:

sc create "service for taskName" start= demand displayname= "service for taskName" binpath= "%Home%\bin\bootstrap.cmd"

为这个场景创建服务是否可行?

【问题讨论】:

    标签: batch-file cmd service scheduled-tasks


    【解决方案1】:

    Windows 似乎没有将 .bat(和 .cmd)文件作为服务运行。

    这里有一些替代方案:

    1. 创建一个计划任务,该任务在 启动。
    2. 将 .cmd 转换为可执行文件。见How can a .bat file be 'converted' to .exe without third party tools?
    3. 使用外部工具(如 NSSM 精选 here

    【讨论】:

    • 谢谢,我无法创建计划任务,因为服务器安全策略不允许我这样做(无法保存密码)并且该工作需要由不是已登录。因此,我正在创建一个执行该作业的服务,并且可以将登录更改为该用户。批处理脚本的转换以创建服务是目前的问题。
    猜你喜欢
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-25
    • 2012-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多