假如给定了如下路径的计划任务,需要过滤出这些路径下的所有计划任务名称
"\Microsoft\Windows\Data Integrity Scan"
"\Microsoft\Windows\ApplicationData"
"\Microsoft\Windows\Defrag"
"\Microsoft\Windows\DiskCleanup"
"\Microsoft\Windows\DiskDiagnostic"
"\Microsoft\Windows\DiskFootprint"
"\Microsoft\Windows\Windows Defender"
"\Microsoft\Windows\Maintenance"
如果是高版本系统,一句命令搞定
Get-ScheduledTask -TaskPath "\Microsoft\Windows\Data Integrity Scan\","\Microsoft\Windows\ApplicationData\","\Microsoft\Windows\Defrag\","\Microsoft\Windows\DiskCleanup\","\Microsoft\Windows\DiskDiagnostic\","\Microsoft\Windows\DiskFootprint\","\Microsoft\Windows\Windows Defender\","\Microsoft\Windows\Maintenance\" 2>$null
如果是低版本的2008R2,则没有Get-ScheduledTask -TaskPath这个命令
下面的方法稍微曲折些,不过兼容所有Windows系统,思路是,通过nirsoft工具集里的taskschedulerview的命令行获取到所有计划任务的"Task Name,Task Folder"组成的.txt文件,一行一个计划任务,Task Name和Task Folder用英文逗号隔开,然后用match过滤后再处理字符串
http://www.nirsoft.net/utils/taskschedulerview-x64.zip
cd C:\taskschedulerview-x64
.\TaskSchedulerView.exe /scomma tasks.txt /Columns "Task Name,Task Folder"
Get-Content C:\taskschedulerview-x64\tasks.txt| where-object {$_ -match " '\\Microsoft\\Windows\\' & 'Data Integrity Scan|ApplicationData|Defrag|DiskCleanup|DiskDiagnostic|DiskFootprint|Windows Defender|Maintenance' "}
Get-Content C:\taskschedulerview-x64\tasks.txt| where-object {$_ -match " '\\Microsoft\\Windows\\' & 'Data Integrity Scan|ApplicationData|Defrag|DiskCleanup|DiskDiagnostic|DiskFootprint|Windows Defender|Maintenance' "}|foreach{$_.split(",")[0]}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有