本文目录导读:

我来介绍几种获取Windows任务计划的方法,包括PowerShell和命令行脚本。
PowerShell 脚本方法
获取所有任务计划
# 获取所有任务计划(包括非活动) Get-ScheduledTask | Select-Object TaskName, TaskPath, State, Description
获取特定路径下的任务
# 获取根目录下的任务 Get-ScheduledTask -TaskPath "\" # 获取指定文件夹的任务 Get-ScheduledTask -TaskPath "\Microsoft\Windows\"
详细查看单个任务
# 查看任务详细信息 Get-ScheduledTask -TaskName "任务名称" | Select-Object * # 查看任务的触发器 Get-ScheduledTask -TaskName "任务名称" | Get-ScheduledTaskInfo # 查看任务的所有属性 $task = Get-ScheduledTask -TaskName "任务名称" $task | Format-List *
导出任务配置
# 导出所有任务到文本文件 Get-ScheduledTask | Export-ScheduledTask | Out-File -FilePath "C:\Tasks.txt" # 导出单个任务为XML Export-ScheduledTask -TaskName "任务名称" -TaskPath "\" | Out-File -FilePath "C:\task.xml"
命令行方法(cmd)
使用schtasks命令
:: 列出所有任务 schtasks /Query :: 查看详细信息 schtasks /Query /V /FO LIST :: 以CSV格式导出 schtasks /Query /FO CSV > tasks.csv :: 查看特定任务 schtasks /Query /TN "任务名称" :: 查看特定文件夹的任务 schtasks /Query /TN "\Microsoft\Windows\*"
完整脚本示例
PowerShell 完整脚本
# 获取并格式化所有任务计划信息
function Get-AllScheduledTasks {
Write-Host "=== Windows 任务计划列表 ===" -ForegroundColor Cyan
# 获取所有任务
$tasks = Get-ScheduledTask
# 按路径分组显示
$tasks | Group-Object Path | ForEach-Object {
Write-Host "`n[文件夹: $($_.Name)]" -ForegroundColor Yellow
$_.Group | ForEach-Object {
$info = $_ | Get-ScheduledTaskInfo
Write-Host " 任务名: $($_.TaskName)" -ForegroundColor Green
Write-Host " 状态: $($_.State)" -ForegroundColor Green
Write-Host " 上次运行: $($info.LastRunTime)" -ForegroundColor Green
Write-Host " 下次运行: $($info.NextRunTime)" -ForegroundColor Green
Write-Host " 上次结果: $($info.LastTaskResult)" -ForegroundColor Green
Write-Host "---"
}
}
}
# 调用函数
Get-AllScheduledTasks
导出为CSV文件
# 导出到CSV文件
Get-ScheduledTask | Select-Object TaskName, TaskPath, State, Description, Author |
Export-Csv -Path "C:\scheduled_tasks.csv" -NoTypeInformation -Encoding UTF8
# 如果您想要更详细的信息
Get-ScheduledTask | ForEach-Object {
$info = $_ | Get-ScheduledTaskInfo
[PSCustomObject]@{
TaskName = $_.TaskName
Path = $_.TaskPath
State = $_.State
Description = $_.Description
Author = $_.Author
LastRunTime = $info.LastRunTime
NextRunTime = $info.NextRunTime
LastTaskResult = $info.LastTaskResult
}
} | Export-Csv -Path "C:\scheduled_tasks_detailed.csv" -NoTypeInformation -Encoding UTF8
高级用法
筛选特定任务
# 查找运行状态的任务
Get-ScheduledTask | Where-Object {$_.State -eq "Ready"}
# 查找最近24小时运行过的任务
Get-ScheduledTask | ForEach-Object {
$info = $_ | Get-ScheduledTaskInfo
if ($info.LastRunTime -gt (Get-Date).AddHours(-24)) {
[PSCustomObject]@{
TaskName = $_.TaskName
LastRunTime = $info.LastRunTime
}
}
}
# 查找禁用的任务
Get-ScheduledTask | Where-Object {$_.State -eq "Disabled"}
监控任务计划变化
# 定期监控
while ($true) {
Clear-Host
Get-Date -Format "yyyy-MM-dd HH:mm:ss"
Get-ScheduledTask | Select-Object TaskName, State | Format-Table
Start-Sleep -Seconds 300 # 每5分钟刷新一次
}
使用方法
- PowerShell ISE:直接复制脚本运行
- 命令提示符:使用
schtasks命令 - 保存为脚本文件:
.ps1或.bat文件
注意事项
- 需要管理员权限才能查看所有任务计划
- 某些系统任务可能需要特定的权限
- 导出的XML文件可以用于还原任务计划
选择哪种方法取决于您的具体需求:
- 快速查看:使用
schtasks /Query - 详细分析:使用 PowerShell 的
Get-ScheduledTask - 批量处理:结合脚本自动化处理
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播