Sådan eksporteres planlagte opgaver med PowerShell

Vi kan godt lide at migrere alle de planlagte opgaver til en anden server eller computer. I stedet for at eksportere de planlagte opgaver individuelt i Task Scheduler, er det bedre at køre et PowerShell-script til at masseeksportere alle opgaver for dig. Det er også fremragende at køre scriptet og gemme de planlagte opgaver til sikkerhedskopiering. I denne artikel lærer du, hvordan du eksporterer planlagte opgaver med PowerShell.

Eksporter planlagt opgave i Task Scheduler

Der er ingen måde at eksportere flere eller alle planlagte opgaver fra programmet Task Scheduler. Det er kun muligt at eksportere en enkelt opgaveplan.

Vælg alle opgaverne i Task Scheduler, og der er ingen mulighed for at eksportere.

Vælg en enkelt opgave i Task Scheduler, og du kan eksportere denne opgave.

Hvis du har mange planlagte opgaver, kan dette være meget tidskrævende. Så hvad er en bedre tilgang? PowerShell til undsætning.

Eksporter alle planlagte opgaver med PowerShell

For at eksportere alle de planlagte opgaver, bruger viGet-Scheduled TaskPowerShell cmdlet for at hente dem ogExport-Scheduled TaskPowerShell cmdlet for at eksportere dem.

Lad os se på det i næste trin.

Download Export-SchedTasks PowerShell-script

Opret to mapper på(C:)køre:

Se også:Gennemprøvet måde at forhindre oprettelse af nye planlagte opgaver i Windows 11

  • Scripts
  • Opgaver

Download og placer Export-SchedTasks.ps1 PowerShell-scriptet iC: Scriptsfolder. Scriptet eksporterer alle de planlagte opgaver tilC: Opgaverfolder.

Note:Den eksporterer ikke Microsoft-mappen, der indeholder planlagte opgaver, fordi de er standardopgaver.

Sørg for, at filen er ophævet blokering for at forhindre fejl, når du kører scriptet. Læs mere i artiklen Ikke digitalt signeret fejl ved kørsel af PowerShell-script.

En anden mulighed er at kopiere og indsætte koden nedenfor i Notesblok. Giv den navnetExport-SchedTasks.ps1og placer den iC: Scriptsfolder.

<#
    .SYNOPSIS
    Export-SchedTasks.ps1

    .DESCRIPTION
    Export Windows Scheduled Tasks on Windows Server and Windows Clients for backup purposes.

    .LINK
    www.alitajran.com/export-scheduled-tasks-powershell/

    .NOTES
    Written by: ALI TAJRAN
    Website:    www.alitajran.com
    LinkedIn:   linkedin.com/in/alitajran

    .CHANGELOG
    V1.00, 12/08/2023 - Initial version
#>

# Define the backup path
$backupPath = "C:Tasks"

# Get the unique task folders from the scheduled tasks
$taskFolders = (Get-ScheduledTask).TaskPath | Where-Object { ($_ -notmatch "Microsoft") } | Select-Object -Unique

# Start exporting of scheduled tasks
Write-Host "Start exporting of scheduled tasks." -ForegroundColor Cyan

# Check if the backup path exists
if (Test-Path -Path $backupPath) {
    Write-Host "Folder already exists: $backupPath" -ForegroundColor Yellow
}
else {
    # Create the backup path if it doesn't exist
    New-Item -ItemType Directory -Path $backupPath | Out-Null
    Write-Host "Backup path created: $backupPath" -ForegroundColor Green
}

# Loop through each task folder
foreach ($taskFolder in $taskFolders) {
    Write-Host "Task folder: $taskFolder" -ForegroundColor Cyan

    # Check if the task folder is not the root folder
    if ($taskFolder -ne "") {
        $folderPath = "$backupPath$taskFolder"

        # Create the task folder in the backup path if it doesn't exist
        if (-not (Test-Path -Path $folderPath)) {
            New-Item -ItemType Directory -Path $folderPath | Out-Null
        }
        else {
            Write-Host "Folder already exists: $folderPath" -ForegroundColor Yellow
        }
    }

    # Get the tasks in the task folder
    $tasks = Get-ScheduledTask -TaskPath $taskFolder -ErrorAction SilentlyContinue

    # Loop through each task in the task folder
    foreach ($task in $tasks) {
        $taskName = $task.TaskName

        # Export the task and save it to a file
        $taskInfo = Export-ScheduledTask -TaskName $taskName -TaskPath $taskFolder
        $taskInfo | Out-File "$backupPath$taskFolder$taskName.xml"
        Write-Host "Saved file $backupPath$taskFolder$taskName.xml" -ForegroundColor Cyan
    }
}

# Exporting of scheduled tasks finished
Write-Host "Exporting of scheduled tasks finished." -ForegroundColor Green

Sådan ser det ud.

Kør PowerShell-scriptet Eksporter planlagte opgaver

Kør Export-SchedTasks.ps1 PowerShell-scriptet for at få alle opgaveplanlagte opgaver og eksportere dem til XML-filer iC: Opgaverfolder.

C:scripts.Export-SchedTasks.ps1

Udgangen viser:

Start exporting of scheduled tasks.
Backup path created: C:Tasks
Task folder: 
Saved file C:TasksCreateExplorerShellUnelevatedTask.xml
Saved file C:TasksMicrosoftEdgeUpdateTaskMachineCore{68B94FCC-61AA-45EA-B214-C666C5A7C344}.xml
Saved file C:TasksMicrosoftEdgeUpdateTaskMachineUA{B5BEDAA1-3440-4D7D-A459-0A8C98600F11}.xml
Saved file C:TasksUser_Feed_Synchronization-{D86918D5-2FFC-4B1D-9AF1-0B66C68F64B2}.xml
Saved file C:Taskswin-acme renew (acme-v02.api.letsencrypt.org).xml
Task folder: Mozilla
Saved file C:TasksMozillaFirefox Background Update 308046B0AF4A39CB.xml
Saved file C:TasksMozillaFirefox Default Browser Agent 308046B0AF4A39CB.xml
Exporting of scheduled tasks finished.

Bekræft planlagte opgaver XML-filer

Export-SchedTasks.ps1 PowerShell-scriptet masseeksporterer alle opgaver til XML-filer. Find XML-filerne i stienC: Opgaver.

Åbn XML-filen med dit yndlingsprogram. For eksempel Microsoft Edge, Notesblok eller Notepad++.

XML-filen ser fremragende ud.

Har dette hjulpet dig med at sikkerhedskopiere de planlagte opgaver med PowerShell til XML-filer?

Konklusion

Du lærte, hvordan du eksporterer planlagte opgaver med PowerShell. Kør først Export-SchedTasks PowerShell-scriptet. Gå derefter til eksportmappen for at kontrollere alle de eksporterede planlagte opgaver i XML-filer. Scriptet virker til Windows Server og Windows-klienter.

Nyd du denne artikel? Du kan også lide Windows Server-konfiguration efter installation. Glem ikke at følge os og dele denne artikel.

Related Posts