2017-10-01 26 views
1

Je rencontre des problèmes lors de l'utilisation de PowerShell dans Windows 10 afin d'obtenir des tâches planifiées spécifiques. J'ai besoin d'une liste de tâches programmées entre 21h00 et 12h00. Je ne pouvais pas comprendre comment utiliser les commandes "Get-ScheduledTask" et "Get-ScheduledTaskInfo" correctement. Je serai très reconnaissant si quelqu'un peut m'aider à écrire le script de la bonne façon!Obtention de tâches planifiées entre des heures spécifiques sur le bureau Windows 10

Répondre

1

Je pense que c'est ce que vous avez besoin:

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

Obtient les tâches planifiées, puis itère à travers eux avec ForEach-Object, tuyauterie chacun Get-ScheduledTaskInfo pour obtenir la propriété .NextRunTime et il est .Hour sous-propriété, puis retourner la tâche planifiée si l'heure est de 21, 22 ou 23.

0

Autre méthode, vous donner toutes les infos nécessaires:

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 
} 

} 

}