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

PowerShell中如何通过Get-Member深入查看Get-ScheduledTask的Actions属性

PowerShell 计划任务 Actions 属性探查方案(适配IR场景)

核心探查方法

1. 直接属性调用(批量排查最高效)

你当前用的Select-Object -ExpandProperty是可用的,批量遍历场景下可以直接通过属性链式访问,不需要额外展开:

# 直接获取所有计划任务的Actions全量内容
(Get-ScheduledTask).Actions

做恶意特征筛选时可以直接把Actions属性作为筛选条件,适合快速定位风险任务:

# 示例:排查执行cmd、mshta、powershell且参数带远程地址的可疑任务
Get-ScheduledTask | Where-Object {
    $_.Actions.Execute -match 'cmd\.exe|mshta\.exe|powershell\.exe' -and 
    $_.Actions.Arguments -match 'http|ftp|\.hta|\.ps1'
}

2. 查看Actions完整结构定义

如果需要明确Actions属性的所有可用字段、类型,不用依赖单个任务的返回结果,可以直接查询对应的CIM类定义:

# 查询计划任务Action对应的CIM类完整结构
Get-CimClass -ClassName MSFT_TaskAction -Namespace Root/Microsoft/Windows/TaskScheduler

输出会包含所有类型Action(执行程序、发邮件、弹消息等)的全量属性定义,比Get-Member返回的信息更完整。

3. 结构化导出(适配自动化处理/证据留存)

开发清理脚本前,建议先导出全量任务数据留存溯源证据,可直接用计算属性把Actions字段拆解成独立列导出:

# 导出所有计划任务核心信息+Action明细到CSV留存
Get-ScheduledTask | Select-Object TaskName, TaskPath, State, Author, CreationDate,
    @{Name='ActionExecute';Expression={$_.Actions.Execute}},
    @{Name='ActionArguments';Expression={$_.Actions.Arguments}},
    @{Name='ActionWorkingDir';Expression={$_.Actions.WorkingDirectory}} |
    Export-Csv -Path C:\IR\Scheduled_Tasks_Backup.csv -NoTypeInformation -Encoding UTF8

IR场景自动化清理注意事项

  • 清理前先禁用任务再执行删除,避免恶意任务触发自保机制重新生成
  • 单任务包含多个Action时,$_.Actions为数组,遍历处理时要循环覆盖每个Action
  • 高风险任务清理前导出原始XML配置留证:Export-ScheduledTask -TaskName 目标任务名 -TaskPath 任务路径 > task_backup.xml

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:15:07