Comment effacer automatiquement le dossier Téléchargements pour les utilisateurs de domaine avec une stratégie de groupe
Ce truc de vider automatiquement le dossier Téléchargements des utilisateurs… c’est un peu pénible si on ne le configure pas correctement. L’idée est d’empêcher les utilisateurs d’accumuler des quantités astronomiques de fichiers au fil du temps, ce qui peut ralentir les systèmes ou surcharger l’espace disque de manière inattendue. Alors, trouvez un moyen d’automatiser cela. Voici ce qui a plutôt bien fonctionné auparavant : utiliser un script PowerShell lié à un script de connexion de stratégie de groupe. Ce n’est pas parfait, mais c’est mieux que rien.
Prérequis
Avant de vous lancer, assurez-vous d’avoir :
- Un environnement Windows Server (comme 2019 ou 2022, ce n’est pas grave).
- Droits d’administrateur pour créer et modifier les GPO.
- Idée de base des scripts PowerShell et comment lier les scripts aux GPO.
- Le script PowerShell doit être placé à un endroit auquel les utilisateurs peuvent accéder, généralement sur un partage réseau.
Étape 1 : Écrire le script PowerShell
Voici le cœur du problème : un script simple qui supprime les fichiers du dossier Téléchargements.
$downloadsPath = "$env:USERPROFILE\Downloads" Get-ChildItem -Path $downloadsPath -Recurse -Force | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue
Enregistrez-le ClearDownloads.ps1
quelque part sur le domaine, généralement dans \\VotreDomaine\netlogon ou dans un autre dossier partagé accessible à tous, comme le partage réseau principal.
Étape 2 : Configurer un fichier batch pour exécuter le script
Étant donné que GPO peut exécuter des fichiers batch sans problème, créez simplement un fichier batch simple qui appelle ce script PowerShell :
powershell -ExecutionPolicy Bypass -WindowStyle Hidden -File "\\YourDomain\netlogon\ClearDownloads.ps1"
Nommez-le ClearDownloads.bat
et placez-le dans le même dossier. C’est parfois plus simple que d’essayer de faire exécuter directement un script PowerShell par GPO, surtout avec des stratégies d’exécution.
Étape 3 : Créer et lier un GPO
La GPMC (Group Policy Management Console) est votre amie ici.
- Appuyez sur Windows + R, puis tapez
gpmc.msc
et appuyez sur Enter. Oui, la GPMC. - Recherchez votre domaine, développez-le et faites un clic droit sur l’unité organisationnelle (UO) où se trouvent vos utilisateurs. Sélectionnez « Créer un objet de stratégie de groupe (GPO) dans ce domaine » et liez-le ici.
- Nommez-le quelque chose comme « Effacer le dossier de téléchargements », puis cliquez sur OK.
Étape 4 : Lier le script à la connexion de l’utilisateur
Maintenant, vous devez indiquer au GPO d’exécuter ce script lorsque les utilisateurs se connectent :
- Cliquez avec le bouton droit sur le nouveau GPO, choisissez Modifier.
- Accédez à Configuration utilisateur ➔ Stratégies ➔ Paramètres Windows ➔ Scripts (connexion/déconnexion).
- Double-cliquez sur Connexion, puis cliquez sur Ajouter.
- Cliquez sur Parcourir, recherchez votre
ClearDownloads.bat
(à partir du partage réseau) et sélectionnez-le. - Appuyez sur OK. Terminé.
Étape 5 : Assurez-vous que les scripts PowerShell sont autorisés
Les stratégies d’exécution de PowerShell peuvent être gênantes ; Windows est comme Windows. Pour garantir l’exécution de votre script, ajustez ce paramètre :
- Dans l’éditeur GPO, accédez à Modèles d’administration ➔ Système ➔ Scripts.
- Recherchez Exécuter d’abord les scripts Windows PowerShell, double-cliquez, définissez sur Activé.
- Cliquez sur Appliquer et sur OK.
Parce que bien sûr, Windows doit rendre les choses plus difficiles que nécessaire.
Étape 6 : Vérifiez que cela fonctionne
Exécutez-le gpupdate /force
depuis une invite de commande administrateur ou PowerShell sur votre machine de test, puis déconnectez-vous et reconnectez-vous en tant qu’utilisateur. Le fichier Téléchargements devrait être effacé. Ce n’est peut-être pas immédiat pour tout le monde, alors attendez quelques secondes. Si cela ne fonctionne pas, vérifiez les résultats de l’objet de stratégie de groupe avec gpresult /h report.html
et vérifiez si le script s’est bien exécuté. Il arrive que des problèmes d’autorisations ou de chemin réseau bloquent le processus.
Conseils supplémentaires et pièges courants
- Vérifiez que tout le monde peut accéder à l’emplacement du script. Parfois, les autorisations bloquent l’exécution des scripts.
- Testez d’abord votre script PowerShell manuellement : exécutez-le dans la console PowerShell. S’il génère des erreurs, corrigez-les d’abord.
- N’oubliez pas que les actualisations des GPO ne se produisent pas toujours immédiatement. Soyez donc patient ou forcez-les avec gpupdate /force.
- Si les scripts ne s’exécutent toujours pas, examinez les paramètres de politique d’exécution sur les machines clientes ; peut-être définir
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
ou similaire si nécessaire.
Conclusion
De cette façon, le dossier Téléchargements de chaque utilisateur est effacé à la connexion, ce qui permet de garder les choses en ordre et, espérons-le, de maintenir un bureau performant. Ce n’est pas parfait, mais c’est mieux que d’espérer que les utilisateurs pensent à le vider eux-mêmes de temps en temps.
Questions fréquemment posées
Puis-je exclure certains types de fichiers de la suppression ?
Bien sûr. Vous pouvez modifier le script PowerShell pour filtrer des extensions spécifiques, comme .docx
ou .pdf
, mais cela devient un peu plus complexe.
Que faire si un utilisateur souhaite conserver certains fichiers ?
C’est à eux de gérer cela : ce script efface tout à chaque connexion. Vous pouvez définir des attentes ou simplement l’exécuter moins fréquemment si nécessaire.
Comment annuler cela si cela cause des problèmes ?
Supprimez l’objet GPO ou dissociez-le de l’unité d’organisation. C’est fait. C’est assez simple.
Résumé
- Écrivez un script PowerShell simple pour supprimer les téléchargements.
- Placez-le sur un partage réseau accessible à tous.
- Créez un fichier batch pour exécuter le script en mode silencieux.
- Créez un GPO, liez-le à l’UO de l’utilisateur.
- Définissez le script pour qu’il s’exécute à la connexion dans l’objet de stratégie de groupe.
- Assurez-vous que les scripts PowerShell sont activés via GPO.
- Forcez une mise à jour de politique et testez-la.
J’espère que cela permettra à quelqu’un de gagner quelques heures.Ça a fonctionné pour moi ; j’espère que ça fonctionnera pour vous.