我已经下载了位于此处的powershell脚本:http://gallery.technet.microsoft.com/scriptcenter/Get-Scheduled-tasks-from-3a377294
然而,这并没有给我一些我正在寻找的信息。我想看看是否有任何任务被设置为唤醒电脑以运行该任务。我看到脚本在哪里循环并显示每个任务的属性。但是我不熟悉使用powershell或Schedule.Service对象,所以我不知道它是什么属性。有人可以告诉我一种方法来获取设置唤醒电脑的任务列表吗?或者只是告诉我如何编辑该脚本,以便显示该信息。
感谢
答案 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)"}
}