Voici un petit script que j'ai du écrire pour un besoin spécifique récent.
Ce script permet de supprimer des fichiers (et uniquement des fichiers) au niveau desquels la date de dernière visualisation serait plus vieille qu'un certain nombre d'années spécifié en paramètre.
Il pourrait bien entendu être amélioré ou modifié en fonction des besoins mais cela permet de fournir un bonne trame et répondait parfaitement au besoin que j'avais au moment de l'écriture de ce script. Une des évolutions possible serait, par exemple, de supprimer le dossier ne contenant plus aucun fichier ni dossier enfant.
Explication du script
Le script permet, tel qu'indiqué ci-dessus, de supprimer définitivement les fichiers non visionnés (ouverts) depuis un nombre d'années prédéfinies. Par exemple, imaginons que la politique d'entreprise soit de supprimer tous les fichiers qui ont été visionnés pour la dernière fois il y a plus de 5 ans; ce script vous permet de facilement réaliser cette tâche. Il pourrait facilement être modifiable afin de supprimer les fichiers qui n'ont pas été modifiés depuis un certains nombre d'années ($item.LastWriteTime à la place de $item.LastAccessTime).
Utilisation du script
Si vous voulez obtenir de l'aide sur l'utilisation du script : Get-Help .\WINDOWS_FILE_remove_old_files_1.0.ps1
Si vous voulez obtenir un example d'utilisation du script : Get-Help .\WINDOWS_FILE_remove_old_files_1.0.ps1 -examples
Pour exécuter le script : .\WINDOWS_FILE_remove_old_files_1.0.ps1 -Path C:\DemoPS -Year 5 -LogFilePath c:\DemoPS\LogFiles
Lors de l'exécution du script, il y aura un retour console de chaque fichier supprimé et ils seront également ajoutés à un fichier de log nommé "file_deleted_log.txt" qui se situe à l'endroit spécifié lors de l'exécution de la commande.
Le script est disponible en pièce jointe à cet article. N'hésitez pas à commenter ou indiquer de quelle façon vous voudriez le faire évoluer :)