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
1
A
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
}
}
}