Script PowerShell pour programmer une tâche simple

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

Brève Introduction

Script PowerShell pour programmer une tâche simple (powershell)
DESCRIPTION :
Ce script PowerShell crée une tâche planifiée Windows qui exécute une commande simple (par exemple, écrire un message dans un fichier journal) chaque jour à une heure précise. C'est un exemple de base pour apprendre à utiliser le module ScheduledTasks dans PowerShell.

NOTES SUPPLÉMENTAIRES :
Le script vérifie si le dossier C:\Temp existe et le crée si nécessaire. La tâche planifiée est créée uniquement si elle n'existe pas déjà, afin d'éviter les doublons. La tâche exécute une commande PowerShell qui ajoute une ligne avec la date et l'heure dans le fichier journal.

EXPLICATIONS :
- Import-Module ScheduledTasks : importe le module nécessaire pour gérer les tâches planifiées.
- Test-Path et New-Item : vérifient et créent le dossier de destination pour le fichier journal.
- Get-ScheduledTask : vérifie si la tâche existe déjà pour éviter les doublons.
- New-ScheduledTaskTrigger : définit quand la tâche doit démarrer (quotidiennement à 12h00).
- New-ScheduledTaskAction : définit ce que fait la tâche (exécute PowerShell avec une commande en ligne).
- Register-ScheduledTask : enregistre la tâche dans le système avec les paramètres définis.

Code d'Exemple : powershell

# 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."
×
×
×
Veux-tu régénérer la réponse ?
×
Exporter le chat
Choisissez le format d'export
⏳ Generazione PDF in corso…
Allegati
×
⚠️ Vous êtes sur le point de fermer le chat et de passer au générateur d’images. Si vous n’êtes pas connecté, vous perdrez notre conversation. Confirmez-vous ?
👁 Tu consultes une discussion partagée en mode temporaire. Elle ne sera pas enregistrée.
💬
×
Prompts enregistrés
×
Note privée
×
Étiquette
×
Rechercher dans toutes les discussions
×
Vos insights
Analyse en cours…
×
Préférences IA
Nom de l'assistant 30
Longueur des réponses
Modèle IA
Réponses structurées
Inclure des exemples
Utiliser des emojis
Guide-moi, ne résous pas Des indices et des questions plutôt que la réponse toute faite
Plus de réglages →
×
Partager cette discussion
Toute personne ouvrant ce lien pourra consulter la discussion ou l'ajouter à son profil comme discussion personnelle.
⚠️ Attention : les pièces jointes de la discussion seront également partagées. Qui l'ajoutera recevra une copie des fichiers dans son dossier.
Discussion partagée
Quelqu'un a partagé une discussion avec toi. Veux-tu seulement la consulter ou l'ajouter à tes discussions ?
⚠️ Attention : les pièces jointes de la discussion seront également partagées. Qui l'ajoutera recevra une copie des fichiers dans son dossier.
×

📌 Messages enregistrés

Chargement...

×

Historique des discussions

programmes-exemples · HISTORIQUE DU CHAT

Chargement...

Préférences IA

×
  • 🟢 BasiqueRéponses rapides et essentielles pour étudier
  • 🔵 MoyenQualité supérieure pour étude et programmation
  • 🟣 AvancéRaisonnement complexe et analyses détaillées
Expliquer les étapes

Qu'est-ce qu'il faut ?

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éé)

Sujets Similaires

Utilitaire PowerShell pour générer des mots de passe aléatoires simples
Script PowerShell simple pour générer des mots de passe aléatoires avec lettres et chiffres selon la longueur définie par l’utilisateur, sans caractères spéciau
Script PowerShell pour renommer des fichiers selon la date de création
Script PowerShell pour renommer automatiquement les fichiers selon leur date de création au format YYYYMMDD, avec gestion des conflits et prévention des doublon
Utilitaire PowerShell pour rechercher des fichiers par extension dans un dossier
Script PowerShell simple pour rechercher des fichiers par extension dans un dossier avec gestion d’erreurs et sortie facile à utiliser en pipeline ou fichier.
Script PowerShell pour lister les processus en cours et les enregistrer en CSV
Script PowerShell pour lister les processus actifs et enregistrer leurs détails essentiels dans un fichier CSV pour une analyse facile et rapide.
Script PowerShell pour compter le nombre de fichiers dans chaque sous-dossier
Script PowerShell simple pour compter le nombre de fichiers dans chaque sous-dossier d’un dossier spécifié avec gestion des erreurs et sortie lisible.
Utilitaire PowerShell pour remplacer une chaîne dans tous les fichiers texte d’un dossier
Script PowerShell simple pour remplacer une chaîne dans tous les fichiers texte d’un dossier, avec gestion des erreurs et sans dépendances externes.
Script PowerShell pour créer une structure de dossiers par défaut pour un projet
Script PowerShell pour créer automatiquement une structure de dossiers standardisée pour un projet logiciel sous Windows avec PowerShell 5.1 ou supérieur.
Script PowerShell pour surveiller l’espace libre sur un disque local
Script PowerShell pour surveiller l’espace libre sur un disque local avec seuil configurable et messages d’état clairs pour une gestion efficace du stockage.