如何使用 SCHTASKS 在 SYSTEM 用户帐户下创建计划任务
Posted
技术标签:
【中文标题】如何使用 SCHTASKS 在 SYSTEM 用户帐户下创建计划任务【英文标题】:How to create a scheduled task under SYSTEM user account with SCHTASKS 【发布时间】:2011-09-22 14:20:24 【问题描述】:我目前正在尝试使用以下命令让 SCHTASKS 在 SYSTEM 帐户下创建计划任务:
schtasks.exe" /s "\\" /u "SYSTEM" /Create /SC DAILY /MO "7" /ST "12:00" /TN "mytask" /TR "C:\test.exe "C:\""
虽然它输出:
ERROR: User credentials are not allowed on the local machine.
【问题讨论】:
出于好奇,为什么要在SYSTEM下运行? @Cody Gray:以 SYSTEM 身份运行程序如何特别有助于恶意软件的创建?这是一个荒谬的说法,因为 SYSTEM 并没有有效地授予您比管理员更多的权限。我可以想出很多你想要安排任务在 SYSTEM 用户下运行的原因。 @wj32:记录在案,在现已删除的 cmets 中,原始发帖人证实他的目标确实是制造恶意软件。我最初的评论根本没有提到恶意软件,只是暗示可能有比在 SYSTEM 用户下运行更好的方法来解决问题。正如我所提到的,它被命名为 SYSTEM 是有原因的,表明它是为系统保留的,而不是用于用户任务,甚至是管理任务。我不同意您的说法,即“您有很多理由希望安排任务在 SYSTEM 用户下运行”。您还没有提供。 @Cody Gray:非 MS 服务通常作为 SYSTEM 运行,所以我想可以使用计划任务来实现类似的功能。事实上,如果您查看任务计划程序控制台 (taskschd.msc),您会发现很多任务就是这样做的。 @Cody Gray:打扰一下?服务是用户模式程序。我使用的是 Windows 7,所以我认为你看的不是很仔细。 Microsoft 的许多默认任务以 SYSTEM 身份运行。现在您是否真的在质疑 SYSTEM 用户对服务有用的事实?这比你最初的要求还要糟糕。 【参考方案1】:打开提升的(管理员)命令提示符。
输入以下命令:
schtasks.exe /s "\" /ru "SYSTEM" /Create /SC DAILY /MO "7" /ST "12:00" /TN "mytask" /TR "C:\test.exe "C: \"
请注意区别在于,要指定SYSTEM帐户,您需要使用/RU
开关,而不是/U
。
【讨论】:
【参考方案2】:-
在调度程序中创建您的任务,然后将它们导出为 XML (https://superuser.com/questions/1334495)
创建一个文本文件:
schtasks.exe /create /RU SYSTEM /TN "Folder\TaskName" /XML "I:\Location\TaskName.xml"
任意多行,每个任务,然后将文件另存为批处理 (.bat),以管理员身份运行(右键单击以管理员身份运行)。
应用到您想要运行它的计算机上。
【讨论】:
以上是关于如何使用 SCHTASKS 在 SYSTEM 用户帐户下创建计划任务的主要内容,如果未能解决你的问题,请参考以下文章