You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell 5.1中如何合并两个计划任务查询结果生成统一表格

PowerShell 5.1 合并计划任务查询结果方法

完全可以实现,不需要安装额外模块,直接关联同一任务对象的两类属性即可完成合并,能避免分开查询后的数据错位问题。

实现逻辑

原两条命令的数据源本身是互相关联的:

  • Get-ScheduledTask 返回的任务对象自带任务路径、名称、执行动作(Actions)等基础配置信息
  • Get-ScheduledTaskInfo 返回的是对应任务的运行时状态信息,二者可通过TaskPath+TaskName做唯一匹配
    直接遍历筛选后的目标任务,同时拉取两类属性组装为自定义对象输出即可,不需要分两次查询再做结果拼接。

可用命令(多动作任务按动作拆分为多行)

该版本完全保留原命令的筛选规则:仅查询非禁用、根路径下、上次运行失败(LastTaskResult>1)的任务,若单个任务配置了多个执行动作,会每个动作对应一条输出记录:

Get-ScheduledTask | Where-Object { $_.State -ne "Disabled" -and $_.TaskPath -eq "\" } | ForEach-Object {
    $runtimeInfo = $_ | Get-ScheduledTaskInfo
    # 过滤上次运行成功的任务
    if ($runtimeInfo.LastTaskResult -le 1) { return }
    # 遍历任务下所有配置的动作
    foreach ($action in $_.Actions) {
        [PSCustomObject]@{
            TaskPath           = $_.TaskPath
            TaskName           = $_.TaskName
            LastRunTime        = $runtimeInfo.LastRunTime
            LastTaskResult     = $runtimeInfo.LastTaskResult
            NextRunTime        = $runtimeInfo.NextRunTime
            NumberofMissedRuns = $runtimeInfo.NumberofMissedRuns
            ExecutePath        = $action.Execute
            ExecuteArguments   = $action.Arguments
        }
    }
} | Format-Table -AutoSize

可选调整版本(单任务单行显示)

如果需要每个任务仅输出一行,可将多个动作的执行路径、参数用分隔符合并到同一字段:

Get-ScheduledTask | Where-Object { $_.State -ne "Disabled" -and $_.TaskPath -eq "\" } | ForEach-Object {
    $runtimeInfo = $_ | Get-ScheduledTaskInfo
    if ($runtimeInfo.LastTaskResult -le 1) { return }
    [PSCustomObject]@{
        TaskPath           = $_.TaskPath
        TaskName           = $_.TaskName
        LastRunTime        = $runtimeInfo.LastRunTime
        LastTaskResult     = $runtimeInfo.LastTaskResult
        NextRunTime        = $runtimeInfo.NextRunTime
        NumberofMissedRuns = $runtimeInfo.NumberofMissedRuns
        AllExecutePaths    = $_.Actions.Execute -join '; '
        AllArguments       = $_.Actions.Arguments -join '; '
    }
} | Format-Table -AutoSize

提示:如果需要导出结构化数据而非直接在控制台显示表格,把末尾的Format-Table替换为Export-Csv -Path 自定义输出路径.csv -NoTypeInformation -Encoding UTF8即可。

内容的提问来源于stack exchange,提问作者user3732793

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 15:15:32