taskscheduler
Manage Windows Task Scheduler tasks: create, list, enable, disable, and delete.
소스 정보
- 저장소
- taracodlabs/aiden
- 최근 소스 활동
- 2026년 8월 24일 19:53
- 감지된 SKILL.md 언어
- 영어
- 스타
- 850
- 포크
- 149
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
파일 탐색기
2 개 파일SKILL.md 표시 중
SKILL.md
소스 지침 · 읽기 전용 미리보기- name
- taskscheduler
- description
- Manage Windows Task Scheduler tasks: create, list, enable, disable, and delete.
- category
- windows
- version
- 1.0.0
- platform
- windows
- tags
- taskscheduler, schtasks, windows, powershell, scheduled-task
- license
- Apache-2.0
# Task Scheduler
Manage Windows Task Scheduler jobs via PowerShell when the user explicitly asks for Task Scheduler, a Windows scheduled task, or `schtasks`. Ordinary recurring or later Aiden work belongs to Reliable Automations.
## When to Use
- User explicitly asks to use Windows Task Scheduler or `schtasks`
- User explicitly wants a Windows scheduled task for a script or program
- User asks to list all scheduled tasks or find a specific one
- User wants to enable, disable, or delete a scheduled task
- User needs to check when a task last ran or why it failed
- User explicitly wants a Windows startup-triggered task
## How to Use
### List all non-disabled tasks
```powershell
Get-ScheduledTask | Where-Object State -ne 'Disabled' |
Select-Object TaskName, TaskPath, State |
Sort-Object TaskName | Format-Table -AutoSize
```
### Get task details (last run, next run)
```powershell
Get-ScheduledTaskInfo -TaskName "MyTask"
```
### Create a daily task
```powershell
$action = New-ScheduledTaskAction -Execute "powershell.exe" `
-Argument "-NonInteractive -File C:\scripts\daily-backup.ps1"
$trigger = New-ScheduledTaskTrigger -Daily -At "08:00AM"
$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit (New-TimeSpan -Hours 1)
Register-ScheduledTask -TaskName "DailyBackup" `
-Action $action -Trigger $trigger -Settings $settings `
-Description "Daily backup at 8 AM" -RunLevel Limited
```
### Create a task that runs at Windows startup
```powershell
$action = New-ScheduledTaskAction -Execute "powershell.exe" `
-Argument "-File C:\scripts\startup.ps1"
$trigger = New-ScheduledTaskTrigger -AtStartup
Register-ScheduledTask -TaskName "StartupScript" `
-Action $action -Trigger $trigger -RunLevel Limited
```
### Create a task that runs every 30 minutes
```powershell
$action = New-ScheduledTaskAction -Execute "python.exe" `
-Argument "C:\scripts\monitor.py"
$trigger = New-ScheduledTaskTrigger -RepetitionInterval (New-TimeSpan -Minutes 30) -Once -At (Get-Date)
Register-ScheduledTask -TaskName "MonitorEvery30m" `
-Action $action -Trigger $trigger -RunLevel Limited
```
### Enable or disable a task
```powershell
Enable-ScheduledTask -TaskName "DailyBackup"
Disable-ScheduledTask -TaskName "DailyBackup"
```
### Run a task immediately
```powershell
Start-ScheduledTask -TaskName "DailyBackup"
```
### Delete a task
```powershell
Unregister-ScheduledTask -TaskName "DailyBackup" -Confirm:$false
```
### View task run history
```powershell
Get-WinEvent -LogName "Microsoft-Windows-TaskScheduler/Operational" |
Where-Object { $_.Message -match "DailyBackup" } |
Select-Object TimeCreated, Message |
Select-Object -First 10
```
## Examples
**"Schedule a Python script to run every day at 9 AM"**
→ `New-ScheduledTaskAction` with `python.exe` + script path, `New-ScheduledTaskTrigger -Daily -At "09:00AM"`, then `Register-ScheduledTask`.
**"List all tasks that are currently ready to run"**
→ `Get-ScheduledTask | Where-Object State -eq 'Ready' | Select-Object TaskName, TaskPath`
**"When did my backup task last run and did it succeed?"**
→ `Get-ScheduledTaskInfo -TaskName "DailyBackup" | Select-Object LastRunTime, LastTaskResult` (0 = success)
## Cautions
- Tasks registered with `-RunLevel Limited` run as the current user without UAC prompt — preferred for most automation
- `-RunLevel Highest` requires the task to be created in an elevated session; it will not prompt the user during execution
- `LastTaskResult` of 0 means success; any other value is an error code
- Task Scheduler event log must be enabled to use `Get-WinEvent` history queries
GitHub에서 보기