Получаване на планирани задачи между определени часове на настолен компютър с Windows 10

Имам някои проблеми с използването на PowerShell в Windows 10, за да получа конкретни планирани задачи. Трябва да получа списък с планирани задачи, които се изпълняват между 21:00 и 12:00. Не можах да разбера как да използвам правилно командите „Get-ScheduledTask“ и „Get-ScheduledTaskInfo“. Ще съм много благодарен, ако някой може да ми помогне да напиша сценария по правилния начин!


person Matan Issler    schedule 01.10.2017    source източник


Отговори (2)


Мисля, че това е, което ви трябва:

Get-ScheduledTask | ForEach-Object {
    $NextRunTimeHour = ($_ | Get-ScheduledTaskInfo).NextRunTime.Hour
    If ($NextRunTimeHour -in 21..23) { $_ }
}

Получава планираните задачи, след което ги итерира с ForEach-Object, препращайки всяка към Get-ScheduledTaskInfo, за да получи свойството .NextRunTime и това е подсвойството .Hour и след това връща планираната задача, ако часът е 21, 22 или 23.

person Mark Wragg    schedule 01.10.2017

Друг метод, който ви дава цялата необходима информация:

Get-ScheduledTask| %{$taskName=$_.TaskName; $_.Triggers | 
where {$_ -ne $null -and $_.Enabled -eq $true -and $_.StartBoundary -ne $null -and ([System.DateTime]$_.StartBoundary).Hour -in 21..23} |  %{ 
[pscustomobject]@{
Name=$taskName; 
trigger=$_
Enabled=$_.Enabled
EndBoundary=$_.EndBoundary
ExecutionTimeLimit=$_.ExecutionTimeLimit
Id=$_.Id
Repetition=$_.Repetition
StartBoundary=$_.StartBoundary
DaysInterval=$_.DaysInterval
RandomDelay=$_.RandomDelay
PSComputerName=$_.PSComputerName
}

}

} 
person Esperento57    schedule 01.10.2017