Crear un array con información sobre tareas que hay que realizar en un día (junto con la hora de realizarlas) y convertirlo en un fichero JSON, después crear una tarea programada en la que suene una alarma para cada tarea que hay que realizar en un día o eliminar las tareas que ya no sirven
- El valor quitaypon = 1 significa que se añade la tarea
- El valor quitaypon = 0 significa que se quita la tarea
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
[System.Collections.ArrayList] $arraylist = New-Object System.Collections.ArrayList # Almacenar en un array tareas para realizar en el día y la hora de realizarlas $null = $arraylist.Add( [pscustomobject] @{ dia = 1 quitaypon = 1 tarea = "Despertarse" hora = "07:00am" }) $null = $arraylist.Add( [pscustomobject] @{ dia = 2 quitaypon = 1 tarea = "Comer" hora = "14:00pm" }) $null = $arraylist.Add( [pscustomobject] @{ dia = 3 quitaypon = 0 tarea = "Dormir" hora = "11:00pm" }) $json = $arraylist | ConvertTo-Json foreach($acciones in ($json | ConvertFrom-Json)) { if($acciones.quitaypon) { # Crear una alarma mediante una tarea programada para cada tarea ## Crear una acción $action=New-ScheduledTaskAction -Execute 'powershell.exe' -Argument '[System.Console]::Beep(1000,100);[System.Console]::Beep(1000,100);' ## Crear el activador $trigger=New-ScheduledTaskTrigger -Daily -At $acciones.hora ## Registrar la tarea programada Register-ScheduledTask -Action $action -Trigger $trigger -TaskName $acciones.tarea -Description $acciones.tarea -Force } else { # Eliminar una alarma que es una tarea programada que ya no necesitamos Unregister-ScheduledTask -TaskName $acciones.tarea -Confirm:$False } } |