我需要一个PowerShell脚本,其中需要读取文本文件中列出的任务,并且需要从Windows任务调度程序获取这些任务的状态并输出到csv文件。
我可以使用Get-Content
cmdlet读取内容。但是Get-ScheduledTask
抛出的错误是它无法识别为有效的cmdlet。
请帮我解决这个问题,因为我是PowerShell的新手。
Get-ScheduledTask任务| Get-ScheduledTaskInfo | Select-Object TaskName,LastTaskResult | Export-Csv -NoTypeInformation -Path D:\ First \ one.csv
我有一个名为tasks的txt文件,其中包含要迭代并列出到csv文件的任务列表
答案 0 :(得分:0)
这个适用于我:
$tasks = Get-Content -Path "C:\Users\Administrator\Desktop\Tasks.txt"
Get-ScheduledTask -TaskName $tasks | Get-ScheduledTaskInfo | Select-Object TaskName, LastTaskResult | Export-Csv C:\Users\Administrator\Desktop\Tasks.csv -NoTypeInformation
Txt文件采用以下格式:
Task 1
Task 2
Task 3
我在Windows 8.1的PS 4中尝试过,在以前版本的Windows(例如Windows 7 / Windows Server 2008 R2)中没有此cmdlet。
对于之前的版本,您可以使用此great module。您应该在Modules
文件夹中提取整个文件夹,例如。到C:\Windows\System32\WindowsPowerShell\v1.0\Modules
,然后您就可以使用模块中的Get-ScheduledTask
:
Import-Module TaskScheduler
Get-Content -Path "C:\Users\Administrator\Desktop\Tasks.txt" | ForEach-Object { Get-ScheduledTask -Name $_ | Select-Object Name,LastRunTime } | Export-Csv C:\Users\Administrator\Desktop\Tasks.csv -NoTypeInformation
其他解决方案是尝试使用schtasks.exe
或Schedule.Service COM object
,但我认为模块TaskScheduler
对您来说更容易。