windows-server-2008 – 如何在powershell脚本中打印出有关任务计划程序的信息?

前端之家收集整理的这篇文章主要介绍了windows-server-2008 – 如何在powershell脚本中打印出有关任务计划程序的信息?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在Power Shell脚本中从本地计算机打印任务计划程序中的信息,以便其他用户也可以打印出这些信息,而不必访问任务计划程序.我需要打印出来的脚本

>名字,
>状态,
>触发器,
>下次运行时间,
>上次运行时间,
>上次运行结果,
>作者,
>创建.

我可以打印出有关名称,下次运行时间和上次运行时间的信息,但是当我运行脚本时,其余部分将不会打印出来.

我已经在我的脚本上有了一点开始,并将字段缩小了.

$schedule = new-object -com("Schedule.Service") 
$schedule.connect() 
$tasks = $schedule.getfolder("\").gettasks(0)

$tasks | select Name,Status,Triggers,NextRunTime,LastRunTime,LastRunResult,Author,Created | ft

foreach ($t in $tasks)
{
foreach ($a in $t.Actions)
{
$a.Path
}
}

任何帮助或建议将不胜感激.

下面是我正在寻找的截图以及哪些字段不打印数据:

这可以稍微清理一下(即映射LastRunResult代码).如果您需要帮助,请告诉我.触发器有点困难,因为我不认为在GUI中查看任务时看到的简单英语表示存在于COM对象中.我相信它必须从存储在RegisteredTask.Definition.Triggers中的TriggerCollection构建
$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,NextRuNTime,Created

猜你在找的Windows相关文章