Bird
Raised Fist0
PowerShellscripting~20 mins

Scheduled scripts with Task Scheduler in PowerShell - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
Task Scheduler Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
1:30remaining
What is the output of this PowerShell command to list scheduled tasks?
You run this command in PowerShell to list all scheduled tasks on your system:
Get-ScheduledTask | Select-Object -First 1 | Format-List

What kind of output should you expect?
PowerShell
Get-ScheduledTask | Select-Object -First 1 | Format-List
AA detailed list of properties of the first scheduled task, including TaskName, State, and Actions.
BA simple list of task names only, without any other details.
CA table showing all scheduled tasks with their next run times.
DAn error saying 'Get-ScheduledTask' is not recognized as a cmdlet.
Attempts:
2 left
💡 Hint
Think about what Format-List does and what Select-Object -First 1 returns.
📝 Syntax
intermediate
2:00remaining
Which PowerShell command correctly creates a scheduled task to run a script daily at 7 AM?
You want to create a scheduled task that runs 'C:\Scripts\backup.ps1' every day at 7 AM. Which command is correct?
ARegister-ScheduledTask -TaskName "DailyBackup" -Trigger (New-ScheduledTaskTrigger -Daily -At 7am) -Action (New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-File C:\Scripts\backup.ps1")
BNew-ScheduledTask -TaskName "DailyBackup" -Trigger (New-ScheduledTaskTrigger -Daily -At 7am) -Action (New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-File C:\Scripts\backup.ps1")
CRegister-ScheduledTask -Name "DailyBackup" -Trigger (New-ScheduledTaskTrigger -Daily -At 7am) -Action (New-ScheduledTaskAction -Execute "powershell.exe" -File "C:\Scripts\backup.ps1")
DNew-ScheduledTask -TaskName "DailyBackup" -Trigger (New-ScheduledTaskTrigger -Daily -At "7:00") -Action (New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-File C:\Scripts\backup.ps1")
Attempts:
2 left
💡 Hint
Register-ScheduledTask is used to create the task in Task Scheduler. Check parameter names carefully.
🔧 Debug
advanced
2:00remaining
Why does this scheduled task fail to run the script?
You created a scheduled task with this action:
New-ScheduledTaskAction -Execute "powershell.exe" -Argument "C:\Scripts\cleanup.ps1"

But the script never runs. What is the problem?
AThe scheduled task must run as administrator to execute scripts.
BThe script path must be enclosed in single quotes inside -Argument.
CThe -Execute parameter should be 'pwsh.exe' instead of 'powershell.exe'.
DThe -Argument parameter is missing the '-File' flag before the script path.
Attempts:
2 left
💡 Hint
Check how PowerShell expects script files to be passed as arguments.
🚀 Application
advanced
2:30remaining
How to export and import a scheduled task using PowerShell?
You want to move a scheduled task named 'WeeklyReport' from one computer to another. Which sequence of commands correctly exports and imports the task?
AExport-ScheduledTask -TaskName "WeeklyReport" -Path "C:\Temp\WeeklyReport.xml"; Register-ScheduledTask -Xml (Get-Content "C:\Temp\WeeklyReport.xml" | Out-String) -TaskName "WeeklyReport"
BExport-ScheduledTask -TaskName "WeeklyReport" -File "C:\Temp\WeeklyReport.xml"; Register-ScheduledTask -Xml (Get-Content "C:\Temp\WeeklyReport.xml") -TaskName "WeeklyReport"
CExport-ScheduledTask -TaskName "WeeklyReport" -Path "C:\Temp\WeeklyReport.xml"; Register-ScheduledTask -Xml (Get-Content "C:\Temp\WeeklyReport.xml" -Raw) -TaskName "WeeklyReport"
Dschtasks /Query /TN "WeeklyReport" /XML > "C:\Temp\WeeklyReport.xml"; schtasks /Create /TN "WeeklyReport" /XML "C:\Temp\WeeklyReport.xml"
Attempts:
2 left
💡 Hint
Get-Content with -Raw reads the entire XML as a single string needed for -Xml parameter.
🧠 Conceptual
expert
1:30remaining
What is the effect of setting the 'RunLevel' property to 'Highest' in a scheduled task?
In Task Scheduler, you set the 'RunLevel' property of a task to 'Highest'. What does this do?
AThe task runs only when the user is logged in with highest privileges.
BThe task runs with administrator privileges, prompting for elevation if needed.
CThe task runs with the highest CPU priority to finish faster.
DThe task runs with the highest memory allocation allowed by the system.
Attempts:
2 left
💡 Hint
Think about Windows User Account Control and task permissions.

Practice

(1/5)
1. What is the main purpose of using Task Scheduler with PowerShell scripts?
easy
A. To write scripts faster using a graphical interface
B. To convert scripts into executable files
C. To debug scripts interactively
D. To run scripts automatically at specific times without manual start

Solution

  1. Step 1: Understand Task Scheduler's role

    Task Scheduler is designed to run tasks automatically based on a schedule.
  2. Step 2: Identify the benefit for scripts

    Running scripts automatically saves time and ensures tasks run without forgetting.
  3. Final Answer:

    To run scripts automatically at specific times without manual start -> Option D
  4. Quick Check:

    Task Scheduler automates script running [OK]
Hint: Task Scheduler automates script runs on schedule [OK]
Common Mistakes:
  • Thinking Task Scheduler helps write or debug scripts
  • Confusing automation with script editing
  • Assuming it converts scripts to executables
2. Which of the following is the correct syntax to create a scheduled task that runs a PowerShell script daily at 7 AM using schtasks?
easy
A. schtasks /create /tn "MyTask" /tr "powershell.exe -File C:\Scripts\task.ps1" /sc daily /st 07:00
B. schtasks /run /tn "MyTask" /tr "powershell.exe -File C:\Scripts\task.ps1" /sc daily /st 07:00
C. schtasks /delete /tn "MyTask" /tr "powershell.exe -File C:\Scripts\task.ps1" /sc daily /st 07:00
D. schtasks /create /tn "MyTask" /tr "C:\Scripts\task.ps1" /sc hourly /st 07:00

Solution

  1. Step 1: Identify the command to create a task

    The /create option is used to create a new scheduled task.
  2. Step 2: Check the task action and schedule

    The task runs PowerShell with the script file path, scheduled daily at 07:00.
  3. Final Answer:

    schtasks /create /tn "MyTask" /tr "powershell.exe -File C:\Scripts\task.ps1" /sc daily /st 07:00 -> Option A
  4. Quick Check:

    Use /create with /tn, /tr, /sc daily, /st 07:00 [OK]
Hint: Use /create to schedule, not /run or /delete [OK]
Common Mistakes:
  • Using /run instead of /create to schedule
  • Omitting powershell.exe in /tr argument
  • Wrong schedule type like hourly instead of daily
3. What will be the output when running this command?
schtasks /query /tn "BackupTask"

Assuming the task "BackupTask" exists and is scheduled.
medium
A. Deletes the task named "BackupTask"
B. Creates a new task named "BackupTask"
C. Displays details of the scheduled task named "BackupTask"
D. Shows an error because /query cannot be used with /tn

Solution

  1. Step 1: Understand the /query option

    The /query option lists information about scheduled tasks.
  2. Step 2: Using /tn with /query

    Specifying /tn "BackupTask" filters the query to show only that task's details.
  3. Final Answer:

    Displays details of the scheduled task named "BackupTask" -> Option C
  4. Quick Check:

    /query with /tn shows task info [OK]
Hint: Use /query with /tn to see specific task info [OK]
Common Mistakes:
  • Confusing /query with /create or /delete
  • Thinking /query with /tn causes error
  • Expecting task creation or deletion output
4. You wrote this command to schedule a script:
schtasks /create /tn "DailyReport" /tr "powershell.exe C:\Scripts\report.ps1" /sc daily /st 09:00

But the task does not run at 9 AM. What is the likely error?
medium
A. Using /sc daily instead of /sc hourly
B. Missing the -File parameter before the script path in /tr
C. Task name "DailyReport" is invalid
D. Start time format 09:00 is incorrect

Solution

  1. Step 1: Check the /tr argument syntax

    The PowerShell command should include -File before the script path to run it properly.
  2. Step 2: Understand why missing -File causes failure

    Without -File, PowerShell does not know to execute the script file, so the task runs but does nothing.
  3. Final Answer:

    Missing the -File parameter before the script path in /tr -> Option B
  4. Quick Check:

    PowerShell needs -File to run script [OK]
Hint: Always include -File before script path in /tr [OK]
Common Mistakes:
  • Omitting -File in PowerShell command
  • Changing schedule type unnecessarily
  • Assuming task name or time format is wrong
5. You want to schedule a PowerShell script to run every Monday and Friday at 6 PM. Which schtasks command correctly sets this up?
hard
A. schtasks /create /tn "WeeklyTask" /tr "powershell.exe -File C:\Scripts\weekly.ps1" /sc weekly /d MON,FRI /st 18:00
B. schtasks /create /tn "WeeklyTask" /tr "powershell.exe -File C:\Scripts\weekly.ps1" /sc daily /d MON,FRI /st 18:00
C. schtasks /create /tn "WeeklyTask" /tr "powershell.exe -File C:\Scripts\weekly.ps1" /sc weekly /d 1,5 /st 18:00
D. schtasks /create /tn "WeeklyTask" /tr "powershell.exe -File C:\Scripts\weekly.ps1" /sc monthly /d MON,FRI /st 18:00

Solution

  1. Step 1: Choose correct schedule type for specific weekdays

    The /sc weekly option schedules tasks weekly on specified days.
  2. Step 2: Specify days and time correctly

    Use /d MON,FRI to run on Monday and Friday, and /st 18:00 for 6 PM start time.
  3. Final Answer:

    schtasks /create /tn "WeeklyTask" /tr "powershell.exe -File C:\Scripts\weekly.ps1" /sc weekly /d MON,FRI /st 18:00 -> Option A
  4. Quick Check:

    Weekly schedule with MON,FRI days and 18:00 time [OK]
Hint: Use /sc weekly with /d MON,FRI for specific weekdays [OK]
Common Mistakes:
  • Using /sc daily instead of weekly for specific days
  • Using numeric days instead of MON,FRI
  • Choosing monthly schedule incorrectly