Powershell Tache Planifiée

May 18, 2024, 2:11 pm

Ayant pu enfin appliquer par GPO un traitement que j'effectuais par script appelé par une tâche planifiée quotidiennement, j'ai dû procéder au listing complet des serveurs sur lesquels cette tâche était créée afin de pouvoir procéder à sa suppression. Ne pouvant pas me connecter un à un sur chaque machine pour vérifier la présence ou non, j'ai dû concevoir un script me permettant de lister les tâches planifiées qui portent mon compte d'utilisateur en auteur sur tout un scope de serveurs. Exécuter un script PowerShell via une tâche planifiée. Voici le snippet que j'ai écrit: $complist = Get-AdComputer -filter * -SearchBase "OU=SERVERS, DC=DUNDERMIFFLIN, DC=local" foreach ($comp in $complist) { Write-Host "`r`nServer:"$comp. DNSHostName Invoke-Command -ComputerName $comp. DNSHostName -ScriptBlock { Get-ScheduledTask | Where-Object { $ -eq "DUNDERMIFFLIN\mscott"}}} Ce script renvoie donc toutes les tâches planifiées que l'utilisateur mscott a créé sur chacun des serveurs présents dans la liste retournée par la requête AD. Il est possible de moduler ce que l'on souhaite obtenir en changeant le filtre ou le chemin LDAP dans la requête Get-AdComputer, sans oublier les propriétés des tâches planifiées dans la boucle Where-Object.

Powershell Tache Planifiée 6

0\ Dans la case Ajoutez des arguments (facultatif), indiquez -File C:\Scripts\1 Dans l'exemple, mon script se nomme 1 et se trouve dans c:\Scripts Cochez la case Ouvrir les propriétés de cette tâche et l'ajouter à votre planification Windows Cliquez sur Terminer La fenêtre de propriété de votre tâche planifié s'ouvre Sélectionnez l'utilisateur sous lequel le script va s'exécuter. Choisissez le bien, il doit avoir les droits nécessaire pour exécuter les différentes actions de votre script Cochez les cases Exécuter même si l'utilisateur n'est pas connecté et Exécuter avec les autorisations maximales Vous pouvez revoir les paramètres de votre tâche planifié. Tutorial Powershell - Créer une tâche planifiée [ Étape par étape ]. si tout est correct, cliquez sur OK. Il vous sera alors demandé d'indiquer le mot de passe du compte d'execution. Renseignez le mot de passe et cliquez sur OK Si le message suivant s'affiche, votre compte n'est pas autorisé à ouvrir une session en tant que tâche. Pour cela, ouvrez une fenetre CMD et executez Cela vous lancement l'éditeur de stratégie de groupe locale Rendez-vous dans Configuration ordinateur \ Paramètres Windows \ Paramètres de sécurités \ Stratégies locales \ Attribution des droits d'utilisateurs Editer la stratégie Ouvrir une session en tant que tâche Cliquez sur Ajouter un utilisateur ou un groupe… et ajoutez-y votre utilisateur.

Voici comment l'utiliser: #Installez le module: Install-Module -Name CredentialManager #Créer un identifiant Add-StoredCredential -UserName -Password -Type GENERIC #Supprimer un identifiant Remove-StoredCredential -Target " ". #Récupération d'un identifiant $cred = Get-SotredCredential -Target ' '. Voici les cmdLets proposées Avec cet outil, vous pouvez ensuite exécuter des scripts planifiés et stocker les informations d'identification requises dans une variable. Juste au cas où, voici la façon d'exécuter des scripts à partir du planificateur de tâches: Sélectionnez d'abord un dossier et faites un clic droit pour créer une nouvelle tâche Choisissez un nom et le déclencheur, puis dans l'onglet Actions cliquez sur nouveau et sélectionnez démarrer un programme Vous devez dire à Powershell de s'exécuter: C:\Windows\System32\WindowsPowerShell\v1. Comment afficher, créer et supprimer des tâches planifiées avec PowerShell | ITIGIC. 0\ dans mon cas Pour fournir des arguments contenant le fichier que vous voulez exécuter: -File « » Et, si vous avez besoin, un lieu de départ. J'espère que vous en avez appris un peu, au moins une page à consulter lors de la configuration des scripts programmés 😅.