答案1
您所要求的实际上只能通过命令来实现AT
,因为它被设计用于执行单一操作任务。
您需要使用/Create
从命令行构建任务。
然后您需要/Run
通过名称来执行该任务/TN
。
一旦任务完成,任务就可以在任务内部/Delete
针对自己的/TN
名称调用命令来清理自身。
答案2
你不能通过命令行创建计划任务,触发器为“任务创建/修改时”。这是一项安全功能,可防止恶意软件在后台生成新任务。
并非所有选项都可用schtasks
,这是设计使然。
答案3
可以使用MSFT_TaskRegistrationTrigger
类来实现这一点。下面是使用 PowerShell 实现此目的的简单示例:
Register-ScheduledTask `
-Action '<PLACEHOLDER>' `
-TaskName '<PLACEHOLDER>' `
-Trigger (Get-CimClass `
-ClassName 'MSFT_TaskRegistrationTrigger' `
-Namespace 'Root/Microsoft/Windows/TaskScheduler');