更新子文件夹中的计划任务(指定的路径无效。)PowerShell 4.0

更新子文件夹中的计划任务(指定的路径无效。)PowerShell 4.0,powershell,scheduled-tasks,taskscheduler,Powershell,Scheduled Tasks,Taskscheduler,运行下面的脚本时,我遇到以下错误:Set ScheduledTask:指定的路径无效。 $Action = New-ScheduledTaskAction -Execute """C:\Program Files\Sync\Sync.exe""" -Argument "C:\ProgramData\Sync\Script.bat" Set-ScheduledTask -TaskName "Task Name" -TaskPath "\SFTP Schedules\Non-Live\" -Act

运行下面的脚本时,我遇到以下错误:Set ScheduledTask:指定的路径无效。

$Action = New-ScheduledTaskAction -Execute """C:\Program Files\Sync\Sync.exe""" -Argument "C:\ProgramData\Sync\Script.bat"
Set-ScheduledTask  -TaskName "Task Name" -TaskPath "\SFTP Schedules\Non-Live\" -Action $Action
这是文件夹结构


有人知道为什么吗?

只要您的帐户在服务器的管理员组中,您的代码就可以了,即使您的帐户不是作者,您也应该能够更改任务。还要确保您正在以管理员身份运行
PowerShell
控制台

但是如果您不是
runAs
用户,则需要提供该用户的凭据才能编辑任务

Set-ScheduledTask -Password "password" -User "Domain\User" -TaskName "name" -TaskPath ... 
如果要将计划任务文件夹中的所有任务导出到
XML
,然后替换
XML
中的作者,可以使用以下代码。更改
$\.TaskPath-eq'\'
以匹配要导出的文件夹

$XMLDestFolder = "C:\XML\"
Get-ScheduledTask | ?{$_.TaskPath -eq '\'} | %{
    $TaskXML = Export-ScheduledTask -TaskName $_.TaskName
    $TaskXML -replace "(?<=<Author>).*?(?=</Author>)","ADFP\NETMANFP" > "$XMLDestFolder$($_.TaskName).xml" 
} 
$XMLDestFolder=“C:\XML\”
获取ScheduledTask |?{$\.TaskPath-eq'\'}}{
$TaskXML=导出ScheduledTask-TaskName$\任务名

$TaskXML-replace“(?只要您的帐户在服务器上的管理员组中,您的代码就可以了,即使您的帐户不是作者,您也应该能够更改任务。另外,请确保您正在以管理员身份运行
PowerShell
控制台

但是如果您不是
runAs
用户,则需要提供该用户的凭据才能编辑任务

Set-ScheduledTask -Password "password" -User "Domain\User" -TaskName "name" -TaskPath ... 
如果要将计划任务文件夹中的所有任务导出到
XML
中,然后替换
XML
中的作者,则可以使用以下代码。更改
$\uuu.TaskPath-eq'\'
以匹配要导出的文件夹

$XMLDestFolder = "C:\XML\"
Get-ScheduledTask | ?{$_.TaskPath -eq '\'} | %{
    $TaskXML = Export-ScheduledTask -TaskName $_.TaskName
    $TaskXML -replace "(?<=<Author>).*?(?=</Author>)","ADFP\NETMANFP" > "$XMLDestFolder$($_.TaskName).xml" 
} 
$XMLDestFolder=“C:\XML\”
获取ScheduledTask |?{$\.TaskPath-eq'\'}}{
$TaskXML=导出ScheduledTask-TaskName$\任务名

$TaskXML-replace“(?我已经做了一些测试,我认为我无法更改这些任务,原因有二。A)我不是作者B)我不是以用户身份运行。我也可以通过在脚本中输入用户和密码来绕过B点,但我不知道如何绕过我不是作者这一事实。我已经做了一些测试,我认为我无法更改这些任务,原因有二。A)我不是作者B)我不是以用户身份运行。我可以通过付费来绕过B点在脚本中输入用户和密码,但我不知道如何回避我不是作者的事实。Hi@Richard,我是服务器上的本地管理员,我对sys32\tasks中的文件拥有完全NTFS权限,我在管理模式下运行Powershell,并添加了run as user\password命令。当试图修改一个有其他人作为作者的任务!!如果您只是删除一个不是您的作者的任务,然后重新创建一个与您作为作者完全相同的任务,该怎么办?这是一个选项,但我有178个计划任务,需要更新操作:(因此,我正在尝试获取一个脚本,该脚本将为我完成这项工作。您能否将它们全部导出为xml,然后从xml文件中导入它们。我认为编写一个脚本来完成这项工作并不困难,这可能会改变所有作者。不幸的是,这并不会在将作者写入xml时修改作者。我目前正在查看另一个脚本。)她的产品将允许我导出它们,修改XML元素值并再次导入它们。如果我无法通过此powershell问题,这是一个备份。我还没有放弃。您好@Richard,我是服务器上的本地管理员,我对sys32\tasks中的文件拥有完全NTFS权限,我在管理模式下运行powershell,并且我已经添加了运行as user\password命令。当试图修改一个由其他人作为作者的任务时,它仍然表示路径无效!!如果您只是删除一个不是您的作者的任务,然后以您作为作者完全相同的方式重新创建它会怎么样?这是一个选项,但我有178个计划任务,需要更新操作:(因此,我正在尝试获取一个脚本,该脚本将为我完成这项工作。您能否将它们全部导出为xml,然后从xml文件中导入它们。我认为编写一个脚本来完成这项工作并不困难,这可能会改变所有作者。不幸的是,这并不会在将作者写入xml时修改作者。我目前正在查看另一个脚本。)她的产品将允许我导出它们,修改XML元素值,然后再次导入它们。如果我无法通过此powershell问题,这是一个备份。我不会放弃。