无密码修改定时任务

Modify Scheduled task without password

我正在尝试创建一个 bat 文件,双击该文件会在 xml 文件的任务计划程序中创建一个任务。我需要动态修改目标位置,因为 xml 中给出的位置会有所不同。

所以我写了两个命令,第一个用于从 xml 创建任务,下一个将编辑它。

schtasks.exe /Create /XML myxml.xml /tn "mytask" /RU SYSTEM

SchTasks /Change /TN "mytask" /TR "%cd%\start.vbs"

这工作正常,但第二行要求输入用户密码。有什么办法可以避免这种情况吗?

我想出了这个解决方法,它帮助我绕过了密码问题。所以解决了我的问题。

1.创建power shell脚本modifyxml.ps1修改XML

中的目标值
$xml = [xml](Get-Content .\myxml.xml)
$path="PATH_TO_UPDATE" // Use proper logic here to get your target path
$xml.Task.Actions.Exec.Command = $path.ToString()
$xml.Save(".\myxml.xml")

2。现在执行这个将修改 xml 的 powershell 脚本,然后使用它创建任务。

Powershell.exe -executionpolicy bypass -File modifyxml.ps1
schtasks.exe /Create /XML myxml.xml /tn "mytask"

现在我的任务是使用更新的 xml 创建的,它具有正确的目标路径。所以我不必稍后更改任务来修改目标位置。