使用powershell查找设置为唤醒计算机的计划任务

时间:2013-12-11 20:21:57

标签: windows powershell windows-8.1

我已经下载了位于此处的powershell脚本:http://gallery.technet.microsoft.com/scriptcenter/Get-Scheduled-tasks-from-3a377294

然而,这并没有给我一些我正在寻找的信息。我想看看是否有任何任务被设置为唤醒电脑以运行该任务。我看到脚本在哪里循环并显示每个任务的属性。但是我不熟悉使用powershell或Schedule.Service对象,所以我不知道它是什么属性。有人可以告诉我一种方法来获取设置唤醒电脑的任务列表吗?或者只是告诉我如何编辑该脚本,以便显示该信息。

感谢

4 个答案:

答案 0 :(得分:18)

这可以在单行中完成:

Get-ScheduledTask | where {$_.settings.waketorun}

Windows 8.1,Windows PowerShell 4.0,Windows Server 2012 R2中的Get-ScheduledTask为available

答案 1 :(得分:4)

在win8.1上:

$tasks = Get-ScheduledTask

ForEach ($task in $tasks)
{
    if($task.settings.waketorun -eq 'True')
        {"$($task.taskname)"}
}

答案 2 :(得分:3)

该信息应该在xml中。  编辑:Graimer是正确的,这不是使用链接的相同脚本  这使用了PowerShellPack中TaskScheduler模块的Get-ScheduledTask,可以从这里下载:  http://archive.msdn.microsoft.com/PowerShellPack

$tasks = Get-ScheduledTask -ComputerName <ComputerName>

ForEach ($task in $tasks)
 {
   $xml = [xml]$task.xml
   if ($xml.task.settings.waketorun -eq 'True')
     { "Task $($task.name) is set to WakeToRun" }
 } 

或只是

 Get-ScheduledTask | select TaskName,TaskPath,@{name="Aufweckung.";expression={$_.Settings.WakeToRun}} -ExpandProperty Triggers | ft -AutoSize -Wrap

答案 3 :(得分:1)

您可以获得更多信息,这使您可以在任务计划程序中找到它:

$tasks = Get-ScheduledTask

ForEach ($task in $tasks)
{
    if($task.settings.waketorun -eq 'True')
        {"$($task)"}
}