Назад | Перейти на главную страницу

Сохраняйте запланированные задачи с помощью powershell

Я хочу сохранить запланированные задачи с помощью PowerShell.

Я пробовал это:

$taskpath = "\mytasks\"   # all of my tasks are in this folder in Task Scheduler
$savefolder = "C:\tasks"  # where I want to save the xml files

Get-ScheduledTask -TaskPath $taskpath | foreach { Export-ScheduledTask -TaskName $_.TaskName | Out-File (Join-Path $savefolder "$($_.TaskName).xml") }

Эти пути существуют.

Но я получаю такую ​​ошибку: Export-ScheduledTask : The system cannot find the file specified.

Что я делаю не так?

Вы пропустили поставку TaskPath в Export-ScheduledTask командлет:

-TaskPath [<String>]
    Specifies the path for a scheduled task in Task Scheduler namespace. You
     can use \ for the root folder. If you do not specify a path, the cmdlet
     uses the root folder.

Использовать

$taskpath = "\mytasks\"   # all of my tasks are in this folder in Task Scheduler
$savefolder = "C:\tasks"  # where I want to save the xml files

Get-ScheduledTask -TaskPath $taskpath | 
    Foreach-Object {
        $_.TaskName  ### debugging  output
        Export-ScheduledTask -TaskName $_.TaskName -TaskPath $_.TaskPath | 
                Out-File (Join-Path $savefolder "$($_.TaskName).xml") }

Вместо указания конкретных TaskName и TaskPath параметры, вы можете передать InputObject объект получен от Get-ScheduledTask в Export-ScheduledTask командлет, как в следующем фрагменте кода:

Get-ScheduledTask -TaskPath $taskpath | 
    Foreach-Object { $_ | Export-ScheduledTask | 
        Out-File (Join-Path $savefolder "$($_.TaskName).xml") }