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