Actualiser Set-ScheduledTaskPowerBGInfo.ps1

This commit is contained in:
2026-06-11 12:39:54 +02:00
parent 985d461578
commit c48f1ab832
+50 -50
View File
@@ -1,51 +1,51 @@
$TaskName = "IT-Connect_PowerBGInfo_Refresh" $TaskName = "PowerBGInfoGlobal_Refresh"
# 0. La tâche existe-t-elle déjà ? # 0. La tâche existe-t-elle déjà ?
$ExistingTask = Get-ScheduledTask -TaskName $TaskName -ErrorAction SilentlyContinue $ExistingTask = Get-ScheduledTask -TaskName $TaskName -ErrorAction SilentlyContinue
if ($ExistingTask) { if ($ExistingTask) {
Write-Host "La tâche '$TaskName' existe déjà : aucune modification (historique préservé)." -ForegroundColor Yellow Write-Host "La tâche '$TaskName' existe déjà : aucune modification (historique préservé)." -ForegroundColor Yellow
return return
} }
# 1. Action - Exécuter le script PowerShell # 1. Action - Exécuter le script PowerShell
$Action = New-ScheduledTaskAction -Execute "powershell.exe" ` $Action = New-ScheduledTaskAction -Execute "powershell.exe" `
-Argument "-WindowStyle Hidden -NoProfile -ExecutionPolicy Bypass -File `"C:\ProgramData\PowerBGInfo\Set-WallpaperPowerBGInfoGlobal.ps1`"" -Argument "-WindowStyle Hidden -NoProfile -ExecutionPolicy Bypass -File `"C:\ProgramData\PowerBGInfo\Set-WallpaperPowerBGInfoGlobal.ps1`""
# 2. Déclencheur : à l'ouverture de session + répétition toutes les minutes, indéfiniment # 2. Déclencheur : à l'ouverture de session + répétition toutes les minutes, indéfiniment
$TriggerLogon = New-ScheduledTaskTrigger -AtLogOn $TriggerLogon = New-ScheduledTaskTrigger -AtLogOn
$Repetition = New-CimInstance -ClassName MSFT_TaskRepetitionPattern ` $Repetition = New-CimInstance -ClassName MSFT_TaskRepetitionPattern `
-Namespace Root/Microsoft/Windows/TaskScheduler ` -Namespace Root/Microsoft/Windows/TaskScheduler `
-Property @{ -Property @{
Interval = "PT5M" Interval = "PT5M"
Duration = "P1D" Duration = "P1D"
} -ClientOnly } -ClientOnly
$TriggerLogon.Repetition = $Repetition $TriggerLogon.Repetition = $Repetition
# 3. Paramètres # 3. Paramètres
$Settings = New-ScheduledTaskSettingsSet ` $Settings = New-ScheduledTaskSettingsSet `
-AllowStartIfOnBatteries ` -AllowStartIfOnBatteries `
-DontStopIfGoingOnBatteries ` -DontStopIfGoingOnBatteries `
-StartWhenAvailable ` -StartWhenAvailable `
-MultipleInstances IgnoreNew -MultipleInstances IgnoreNew
# 4. Contexte utilisateur (groupe "Utilisateurs" via le SID) # 4. Contexte utilisateur (groupe "Utilisateurs" via le SID)
$Principal = New-ScheduledTaskPrincipal -GroupId "S-1-5-32-545" -RunLevel Limited $Principal = New-ScheduledTaskPrincipal -GroupId "S-1-5-32-545" -RunLevel Limited
# 5. Enregistrement la tâche planifiée (pour la créer) # 5. Enregistrement la tâche planifiée (pour la créer)
try { try {
Register-ScheduledTask -TaskName $TaskName ` Register-ScheduledTask -TaskName $TaskName `
-Description "Actualise le fond d'écran dynamique toutes les 5 minutes" ` -Description "Actualise le fond d'écran dynamique toutes les 5 minutes" `
-Action $Action ` -Action $Action `
-Trigger $TriggerLogon ` -Trigger $TriggerLogon `
-Settings $Settings ` -Settings $Settings `
-Principal $Principal ` -Principal $Principal `
-ErrorAction Stop | Out-Null -ErrorAction Stop | Out-Null
Write-Host "Tâche '$TaskName' créée avec succès." -ForegroundColor Green Write-Host "Tâche '$TaskName' créée avec succès." -ForegroundColor Green
} }
catch { catch {
Write-Error "Échec de la création de la tâche : $($_.Exception.Message)" Write-Error "Échec de la création de la tâche : $($_.Exception.Message)"
} }