« PowerShell/Tâche planifiée » : différence entre les versions

Aller à la navigation Aller à la recherche
mAucun résumé des modifications
mAucun résumé des modifications
Ligne 2 : Ligne 2 :


== Généralité ==
== Généralité ==
Quelques particularités sont à notées concernant PowerShell et les tâches planifiées via le planificateur de tâches.
Lorsqu'une tâche planifiée est programmée pour exécuter un script PowerShell, utiliser les options suivantes :
Lorsqu'une tâche planifiée est programmée pour exécuter un script PowerShell, utiliser les options suivantes :
* programme : <code>powershell.exe</code>
* programme : <code>powershell.exe</code>
* arguments : <code>-File Chemin\fichier</code>
* arguments : <code>-File Chemin\fichier</code>
* commencer dans :
* commencer dans :
== Script PowerShell avec argument ==
Pour qu'un script PowerShell avec argument puisse être lancé depuis une tâche planifiée, voici un modèle :
* programme/script : <source inline>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</source> ou simplement <source inline>powershell.exe</source>
* arguments : <source inline>-Command "& C:\SauveImap\PurgeFichierAncien.ps1 -chemin 'c:\SauveImap\Archives' -age '30'"</source>
Fichier {{fichier|PurgeFichierAncien.ps1}}
<source>
<#
Nom        : PSHTAC010
Description : suppression des fichiers PDF d'un dossier et plus agé qu'un nombre de jour défini
Usage      : renseigner les arguments suivants :
                -chemin : chemin des fichiers à traiter ; valeur par défaut "C:\SauveDocAppli\Archives"
                -age : age des fichiers ; valeur par défaut "30"
Exemple    : pour une tâche planifiée :
                * programme : powershell.exe
                * arguments : -Command "& C:\SauveDocAppli\PurgeFichierAncien.ps1 -chemin 'C:\SauveDocAppli\Archives' -age '30'"
Auteurs    : fylip22
Version    : 1.1
Révisions  :
              - 1.0 (10/08/2023) : création du script
              - 1.1 (14/08/2023) : modification pour ne traiter que les PDF et ajout des valeurs par défaut
#>
Param(
        # Indication que les paramètres suivants sont facultatifs
    [Parameter()]
        # chemin du dossier à nettoyer ; avec chemin par défaut
    [string]$chemin="C:\SauveDocAppli\Archives",
        # Age maximum des fichiers à garder (en jour) ; avec valeur par défaut
    [int]$age="30"
)
Get-ChildItem $chemin -Filter *.pdf | Where CreationTime -lt (Get-Date).AddDays(-$age) | Remove-Item -Force
</source>


== Liste des tâches planifiées ==
== Liste des tâches planifiées ==

Version du 13 août 2024 à 16:37

Généralité

Quelques particularités sont à notées concernant PowerShell et les tâches planifiées via le planificateur de tâches.

Lorsqu'une tâche planifiée est programmée pour exécuter un script PowerShell, utiliser les options suivantes :

  • programme : powershell.exe
  • arguments : -File Chemin\fichier
  • commencer dans :

Script PowerShell avec argument

Pour qu'un script PowerShell avec argument puisse être lancé depuis une tâche planifiée, voici un modèle :

  • programme/script : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe ou simplement powershell.exe
  • arguments : -Command "& C:\SauveImap\PurgeFichierAncien.ps1 -chemin 'c:\SauveImap\Archives' -age '30'"

Fichier PurgeFichierAncien.ps1

<#
Nom         : PSHTAC010
Description : suppression des fichiers PDF d'un dossier et plus agé qu'un nombre de jour défini
Usage       : renseigner les arguments suivants :
                -chemin : chemin des fichiers à traiter ; valeur par défaut "C:\SauveDocAppli\Archives"
                -age : age des fichiers ; valeur par défaut "30"
Exemple     : pour une tâche planifiée :
                * programme : powershell.exe
                * arguments : -Command "& C:\SauveDocAppli\PurgeFichierAncien.ps1 -chemin 'C:\SauveDocAppli\Archives' -age '30'"
Auteurs     : fylip22
Version     : 1.1
Révisions   :
              - 1.0 (10/08/2023) : création du script
              - 1.1 (14/08/2023) : modification pour ne traiter que les PDF et ajout des valeurs par défaut
#>

Param(
        # Indication que les paramètres suivants sont facultatifs
    [Parameter()]
        # chemin du dossier à nettoyer ; avec chemin par défaut
    [string]$chemin="C:\SauveDocAppli\Archives",
        # Age maximum des fichiers à garder (en jour) ; avec valeur par défaut
    [int]$age="30"
)

Get-ChildItem $chemin -Filter *.pdf | Where CreationTime -lt (Get-Date).AddDays(-$age) | Remove-Item -Force

Liste des tâches planifiées

Liste des tâches planifiées dont le nom commence par "onedrive" :

Get-ScheduledTask -TaskPath \ | Where {$_.TaskName -like "onedrive*"}

Supprimer des tâches planifiées

Suppression des tâches planifiées dont le nom commence par "onedrive" :

Get-ScheduledTask -TaskPath \ | Where {$_.TaskName -like "onedrive*"} | Unregister-ScheduledTask


Voir aussi

  •