【发布时间】:2021-05-19 01:30:10
【问题描述】:
我在这个领域很新,我有点迷茫,但是当我查看:https://serverfault.com/questions/604673/how-to-print-out-information-about-task-scheduler-in-powershell-script 时,这部分回答了我的问题。我正在寻找允许我搜索现有任务并删除他的脚本。问题出在 Powershell 版本中。在我的修订版中 Get-ShceduledTask 不存在,我必须寻找解决方案如何使用此 cmdlet 进行搜索。我还必须注意,我无法将 Powershell 更改或升级到更好的版本。
所以,总而言之,下面的代码在某些时候可以工作,但如果有一些可以帮助我弄清楚如何完成这个?
$sched = New-Object -Com "Schedule.Service"
$sched.Connect()
$out = @()
$sched.GetFolder("\").GetTasks(0) | % {
$xml = [xml]$_.xml
$out += New-Object psobject -Property @{
"Name" = $_.Name
"Status" = switch($_.State) {0 {"Unknown"} 1 {"Disabled"} 2 {"Queued"} 3 {"Ready"} 4 {"Running"}}
"NextRunTime" = $_.NextRunTime
"LastRunTime" = $_.LastRunTime
"LastRunResult" = $_.LastTaskResult
"Author" = $xml.Task.Principals.Principal.UserId
"Created" = $xml.Task.RegistrationInfo.Date
}
}
$out | fl Name,Status,NextRuNTime,LastRunTime,LastRunResult,Author,Created
【问题讨论】:
-
究竟是什么不起作用?
-
您运行的是哪个版本的 Powershell?也没有真正的理由使用 COM。只需将 Windows 可执行文件用于计划任务:
schtasks.exe /?。
标签: powershell scheduled-tasks