Éliminez les tâches répétitives grâce à l’automatisation à l’aide de scripts générés par l’IA

Éliminez les tâches répétitives grâce à l’automatisation à l’aide de scripts générés par l’IA

Vous êtes-vous déjà retrouvé submergé par des tâches informatiques fastidieuses ? Vous n’êtes pas seul ! La bonne nouvelle : avec l’aide de l’intelligence artificielle (IA), vous pouvez rationaliser et automatiser vos tâches Windows grâce aux scripts PowerShell, libérant ainsi un temps précieux pour des activités plus importantes.

Présentation de PowerShell : votre allié en matière d’automatisation

PowerShell est à la fois un puissant shell de ligne de commande et un langage de script complet intégré à Windows, offrant des solutions d’administration et d’automatisation remarquables. Selon Microsoft, cet outil peut transformer la gestion des tâches sur votre ordinateur.

Interface PowerShell

Avec PowerShell, vous pouvez créer des scripts (des fichiers autonomes remplis de commandes et d’instructions) pour automatiser tout, de la gestion de fichiers de base aux opérations système complexes.

Pour les novices en scripting, de nombreux scripts PowerShell pré-écrits sont disponibles en ligne. Par exemple, le référentiel de scripts PowerShell propose plus de 500 scripts gratuits conçus pour faciliter diverses tâches, notamment la surveillance de l’espace disque, la liste des programmes installés et l’organisation des photos par date de création.

Bien que ces scripts prêts à l’emploi soient précieux, le véritable potentiel de PowerShell réside dans votre capacité à créer des scripts sur mesure adaptés à vos besoins spécifiques : c’est là que l’IA change la donne !

Exploiter l’IA pour générer des scripts PowerShell personnalisés

Imaginez devoir organiser des milliers de fichiers récupérés sur un disque dur endommagé. Plutôt que de passer des heures à maîtriser la syntaxe PowerShell ou à chercher le script préexistant idéal, j’ai utilisé ChatGPT pour créer un script personnalisé.

Pour mon besoin spécifique (trier différents types de fichiers (comme des images, de l’audio et des documents), j’ai élaboré une invite claire et concise pour l’IA :

Invite IA pour PowerShell

Voici ce que j’ai pris soin d’inclure dans mon invite d’IA :

  • Instructions pour gérer les fichiers qui ne correspondent à aucune catégorie.
  • La tâche exacte d’organiser les fichiers par leurs extensions.
  • Une répartition des catégories et des types de fichiers pour chaque groupe.

L’IA a rapidement généré un script PowerShell efficace qui a abordé ma tâche d’organisation de fichiers :

# Define the source folder as the current directory where the script is executed$sourceFolder = $PSScriptRoot# Define category folders and their associated file extensions$categories = @{ "Images" = @(".jpg", ".jpeg", ".png", ".gif", ".bmp", ".tiff", ".webp", ".svg", ".ico", ".raw", ".cr2", ".nef", ".heic", ".psd", ".ai", ".eps") "Documents" = @(".pdf", ".docx", ".doc", ".txt", ".rtf", ".xlsx", ".xls", ".pptx", ".ppt", ".odt", ".ods", ".odp", ".md", ".csv", ".json", ".xml", ".html", ".htm", ".log", ".tex", ".epub", ".mobi") "Audio" = @(".mp3", ".wav", ".aac", ".flac", ".ogg", ".wma", ".m4a", ".mid", ".midi", ".aiff", ".alac", ".ape", ".opus", ".amr", ".au", ".voc") "Video" = @(".mp4", ".avi", ".mov", ".wmv", ".mkv", ".flv", ".webm", ".m4v", ".mpg", ".mpeg", ".3gp", ".3g2", ".ts", ".vob", ".ogv", ".divx", ".asf", ".rm", ".rmvb") "Archives" = @(".zip", ".rar", ".7z", ".tar", ".gz", ".bz2", ".xz", ".cab", ".iso", ".tgz", ".tbz2", ".lzh", ".dmg", ".pkg", ".deb", ".rpm") "Code" = @(".py", ".js", ".html", ".css", ".java", ".c", ".cpp", ".cs", ".php", ".rb", ".go", ".swift", ".sql", ".ps1", ".sh", ".bat", ".vbs", ".ts", ".jsx", ".r", ".pl", ".lua") "Executables" = @(".exe", ".msi", ".app", ".apk", ".dll", ".bin", ".com", ".jar", ".gadget", ".wsf", ".appx", ".appxbundle") "Other" = @()}# Create category folders if they don't existforeach ($category in $categories. Keys) { $categoryPath = Join-Path -Path $sourceFolder -ChildPath $category if (-not (Test-Path -Path $categoryPath)) { New-Item -Path $categoryPath -ItemType Directory | Out-Null Write-Host "Created folder: $category" }} # Get all files in the source folder (non-recursive)$files = Get-ChildItem -Path $sourceFolder -File | Where-Object { $_. Name -ne $MyInvocation. MyCommand. Name } # Counter for moved files$movedFiles = 0$totalFiles = $files. CountWrite-Host "Starting to organize $totalFiles files..." # Process each fileforeach ($file in $files) { $extension = $file. Extension. ToLower() $targetCategory = "Other" # Determine which category the file belongs to foreach ($category in $categories. Keys) { if ($category -eq "Other") { continue } if ($categories[$category] -contains $extension) { $targetCategory = $category break } } # Move the file to the appropriate category folder $targetPath = Join-Path -Path $sourceFolder -ChildPath $targetCategory $targetFile = Join-Path -Path $targetPath -ChildPath $file. Name # Check if target file already exists and handle accordingly if (Test-Path -Path $targetFile) { $baseName = [System. IO. Path]::GetFileNameWithoutExtension($file. Name) $newName = "$baseName`_$(Get-Random)$extension" $targetFile = Join-Path -Path $targetPath -ChildPath $newName } Move-Item -Path $file. FullName -Destination $targetFile $movedFiles++ # Show progress $percentComplete = [math]::Round(($movedFiles / $totalFiles) * 100, 2) Write-Progress -Activity "Organizing Files" -Status "$movedFiles of $totalFiles files processed ($percentComplete%)" -PercentComplete $percentComplete } Write-Host "File organization complete! Moved $movedFiles files into categories."

Automatiser vos scripts PowerShell avec le planificateur de tâches

La magie des scripts PowerShell générés par l’IA ne s’arrête pas à la création ; ils peuvent également être configurés pour s’exécuter automatiquement, éliminant ainsi le besoin d’intervention humaine !

Comme j’oublie souvent les pauses lors de mes longues sessions sur ordinateur, j’ai créé un script qui m’invite à faire de courtes pauses. Là encore, j’ai utilisé l’IA pour générer ce script de rappel avec une invite simple :

Invite IA pour le rappel de pause

Le script PowerShell résultant était parfaitement adapté à mes besoins :

# Script to remind user to take regular screen breaks # Load required assemblies for notifications Add-Type -AssemblyName System. Windows. Forms# Function to show break reminder notification function Show-BreakReminder { $motivationalMessages = @( "Time for a 5-minute break! Rest your eyes and stretch.", "Screen break time! Look at something 20 feet away for 20 seconds.", "Break time! Stand up and move around for 5 minutes.", "Your eyes need a rest! Take 5 minutes away from the screen.", "Productivity hack: A 5-minute break now will boost your focus!" ) # Select a random message $randomMessage = $motivationalMessages | Get-Random # Create and configure the notification $notification = New-Object System. Windows. Forms. NotifyIcon $notification. Icon = [System. Drawing. SystemIcons]::Information $notification. BalloonTipTitle = "Wellness Reminder" $notification. BalloonTipText = $randomMessage $notification. Visible = $true # Show notification for 10 seconds $notification. ShowBalloonTip(10000) # Clean up after a delay Start-Sleep -Seconds 12 $notification. Dispose() } # Display an initial notification Show-BreakReminder Write-Host "Break reminder displayed. Set this script to run hourly using Task Scheduler."

Maintenant que j’avais le script, je l’ai configuré pour qu’il s’exécute automatiquement toutes les heures via le Planificateur de tâches Windows. Voici comment :

Planificateur de tâches Tâche de base

Tout d’abord, j’ai enregistré mon script généré par l’IA au format.ps1 et j’ai accédé au Planificateur de tâches via le menu Démarrer. J’ai ensuite créé une nouvelle tâche de base avec un déclencheur quotidien.

Modifier le déclencheur dans le planificateur de tâches

J’ai modifié les paramètres du déclencheur pour exécuter la tâche toutes les heures. Après avoir localisé ma tâche dans la bibliothèque du Planificateur de tâches, j’ai fait un clic droit dessus et sélectionné Propriétés. Dans l’ onglet Déclencheurs, j’ai cliqué sur Modifier, coché l’ option Répéter la tâche toutes les : et défini l’intervalle sur 1 heure. J’ai également sélectionné « Indéfiniment » sous Durée et j’ai enregistré mes modifications en cliquant sur OK.

Propriétés du déclencheur dans le planificateur de tâches

Ensuite, j’ai ajusté les paramètres d’action dans la fenêtre Propriétés en accédant à l’ onglet Actions et en cliquant sur Modifier. Pour le champ Programme/script, j’ai saisi powershell.exeplutôt que le chemin direct vers mon script. Dans le champ Ajouter des arguments, j’ai utilisé -ExecutionPolicy Bypass -WindowStyle Hidden -File "C:\Users\David\Desktop\eye-saver.ps1", qui couvrait à la fois les politiques d’exécution et le chemin complet vers mon script.

Configuration du script PowerShell Eye Saver

Après avoir enregistré ces paramètres, j’ai finalisé la fenêtre Propriétés en cliquant deux fois sur OK. Résultat ? Un rappel fluide qui améliore ma productivité tout en réduisant la fatigue oculaire !

L’avantage de l’IA pour créer et automatiser des scripts PowerShell réside dans l’efficacité remarquable qu’elle apporte à votre quotidien. Grâce à ces commandes simples, vous optimisez non seulement votre flux de travail, mais permettez également à votre ordinateur d’effectuer le travail à votre place, en arrière-plan et en silence.

Toutes les images et captures d’écran sont créditées à David Morelo.

Questions fréquemment posées

1. Ai-je besoin de connaissances en programmation pour créer des scripts PowerShell ?

Non, vous n’avez pas besoin de connaissances approfondies en programmation. Avec des outils d’IA comme ChatGPT, vous pouvez générer des scripts en décrivant simplement ce que vous souhaitez, les rendant ainsi accessibles à tous.

2. Comment puis-je exécuter mes scripts PowerShell automatiquement ?

Vous pouvez planifier vos scripts PowerShell à l’aide du Planificateur de tâches Windows. Cela leur permet de s’exécuter à intervalles réguliers, automatisant ainsi vos tâches sans intervention de votre part.

3. Que faire si mon script généré par l’IA ne fonctionne pas comme prévu ?

Il est courant que les scripts initiaux nécessitent des ajustements. Vérifiez le code généré, assurez-vous que vos chemins sont corrects et ajustez les paramètres. N’hésitez pas à consulter la documentation PowerShell pour résoudre les problèmes !

Source et images

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *