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

如何用PowerShell获取任务计划程序中近1小时运行的非微软库任务

使用PowerShell筛选任务计划程序中的特定任务

以下是满足需求的PowerShell脚本,可筛选出近1小时内运行过、且不属于Microsoft子库的任务,并输出指定信息:

# 计算1小时前的时间点作为筛选阈值
$oneHourAgo = (Get-Date).AddHours(-1)

# 筛选并输出符合条件的任务
Get-ScheduledTask | Where-Object {
    # 排除Microsoft官方子库的任务
    $_.TaskPath -notlike '\Microsoft\*' -and
    # 仅保留近1小时内运行过的任务
    $_.LastRunTime -ge $oneHourAgo
} | ForEach-Object {
    $taskDetails = Get-ScheduledTaskInfo -TaskPath $_.TaskPath -TaskName $_.TaskName
    # 构造输出对象,包含所需字段
    [PSCustomObject]@{
        任务名称       = $_.TaskName
        运行开始时间   = $taskDetails.LastRunTime
        结束时间       = if ($taskDetails.TotalRunTime.TotalSeconds -gt 0) {
            $taskDetails.LastRunTime.AddMilliseconds($taskDetails.TotalRunTime.TotalMilliseconds)
        } else {
            "任务未结束/无有效运行时长记录"
        }
    }
} | Format-Table -AutoSize

脚本说明:

  • 时间筛选:通过(Get-Date).AddHours(-1)获取1小时前的时间,以此作为任务运行时间的判断阈值。
  • 子库排除:利用-notlike '\Microsoft\*'过滤掉所有位于Microsoft官方子库下的任务。
  • 运行信息提取:通过Get-ScheduledTaskInfo获取任务的详细运行数据,包括开始时间和运行时长,进而计算出结束时间;若任务仍在运行或无有效时长记录,会给出对应提示。
  • 格式化输出:最后用Format-Table将结果整理为易读的表格形式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 00:05:25