Script PowerShell pour créer une tâche planifiée simple qui écrit un message quotidien dans un fichier journal à 12h00, avec gestion du dossier et évitement des
# Importe le module pour gérer les tâches planifiées
Import-Module ScheduledTasks
# Définit le nom de la tâche planifiée
$nomeAttivita = 'EsempioAttivitaPianificata'
# Chemin du dossier et du fichier journal
$cartellaLog = 'C:\Temp'
$fileLog = Join-Path -Path $cartellaLog -ChildPath 'log_attivita.txt'
# Vérifie si le dossier existe, sinon le crée
if (-not (Test-Path -Path $cartellaLog)) {
New-Item -Path $cartellaLog -ItemType Directory | Out-Null
}
# Vérifie si la tâche existe déjà pour éviter les doublons
$attivitaEsistente = Get-ScheduledTask -TaskName $nomeAttivita -ErrorAction SilentlyContinue
if ($null -ne $attivitaEsistente) {
Write-Host "La tâche '$nomeAttivita' existe déjà. Aucune action effectuée."
return
}
# Définit le déclencheur : exécution quotidienne à 12h00
$trigger = New-ScheduledTaskTrigger -Daily -At 12:00
# Définit l'action : exécute PowerShell qui ajoute une ligne avec la date et l'heure dans le fichier journal
$azioneScript = "Add-Content -Path '$fileLog' -Value \"Tâche exécutée le $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')\""
$azione = New-ScheduledTaskAction -Execute 'PowerShell.exe' -Argument "-NoProfile -WindowStyle Hidden -Command $azioneScript"
# Enregistre la tâche planifiée avec le déclencheur et l'action définis
Register-ScheduledTask -TaskName $nomeAttivita -Trigger $trigger -Action $azione -Description 'Écrit un journal chaque jour à midi' -User 'SYSTEM'
Write-Host "Tâche planifiée '$nomeAttivita' créée avec succès."PowerShell version 5.0 ou supérieure (module ScheduledTasks inclus)
Permissions administratives pour créer des tâches planifiées
CONFIG : Nom de la tâche : 'EsempioAttivitaPianificata'
CONFIG : Déclencheur quotidien à 12h00 (midi)
CONFIG : Action : exécuter PowerShell avec une commande qui écrit dans C:\Temp\log_attivita.txt
CONFIG : Fichier journal : C:\Temp\log_attivita.txt (le dossier doit exister ou être créé)