Les fichiers temporaires et les profils utilisateur obsolètes sont des données non essentielles qui s’accumulent silencieusement sur un appareil. Ils semblent inoffensifs, mais ces fichiers et profils résiduels peuvent occuper un espace disque précieux.
S’ils ne sont pas gérés pendant une longue période, ils peuvent créer des risques de sécurité dans les environnements multi-utilisateurs ou à postes de travail partagés.
Pour que tous vos terminaux restent allégés et performants, une solution consiste à automatiser le nettoyage.
Aujourd’hui, nous allons vous montrer comment créer des scripts d’automatisation pour nettoyer les fichiers temporaires et les anciens profils utilisateur sur des machines distantes.
Besoin d’un support visuel ? Regardez notre vidéo « Comment automatiser le nettoyage des fichiers temporaires et des anciens profils utilisateur sur des machines distantes ».
Automatiser le nettoyage des fichiers temporaires et des profils utilisateur avec PowerShell
Nettoyer les fichiers temporaires et supprimer les anciens profils utilisateur est une tâche de routine pour les MSP. Cela permet de maintenir les systèmes fluides, de libérer un espace disque précieux et de réduire les risques de sécurité.
Cependant, réaliser cette opération manuellement sur des centaines de terminaux prend beaucoup de temps. La plupart des administrateurs système utilisent donc des scripts PowerShell pour automatiser l’ensemble du processus.
Avant de commencer, assurez-vous de réunir les conditions suivantes :
📌 Prérequis :
- Windows 10/11 ou Server 2016+
- PowerShell version 5.1 ou ultérieure
- Droits d’administrateur local
- NinjaOne ou un autre outil RMM pour le déploiement et la récupération des journaux (facultatif)
- Accès aux GPO pour appliquer les politiques de nettoyage (facultatif)
Voici les principaux outils dont vous aurez besoin pour ce guide.
📌 Stratégies de déploiement recommandées :
| Cliquez pour choisir une méthode | 💻 Idéal pour les utilisateurs individuels | 💻💻💻 Idéal pour les grandes entreprises |
| Méthode 1 : nettoyer les fichiers temporaires par script PowerShell | ✓ | ✓ |
| Méthode 2 : supprimer les anciens profils utilisateur par script PowerShell | ✓ | |
| Méthode 3 : utiliser une stratégie de groupe pour standardiser ou compléter le nettoyage | ✓ |
Méthode 1 : nettoyer les fichiers temporaires par script PowerShell
📌 Cas d’utilisation : créez un script qui supprime les fichiers temporaires et les répertoires utilisateur d’un terminal afin de réduire l’encombrement et de libérer de l’espace de stockage.
Nettoyer les répertoires temporaires de Windows et des utilisateurs :
# System temp |
Veillez à exclure les comptes système et les sessions utilisateur actives pour éviter toute perte accidentelle de données.
Méthode 2 : supprimer les anciens profils utilisateur par script PowerShell
📌 Cas d’utilisation : déployez un script qui identifie et supprime les profils utilisateur inactifs en fonction de leur dernière date de connexion.
A. Supprimer les profils non utilisés depuis 30 jours
| $cutoff = (Get-Date).AddDays(-30) Get-CimInstance -ClassName Win32_UserProfile | Where-Object { -not $_.Special -and $_.LastUseTime -lt $cutoff } | ForEach-Object { Remove-CimInstance -InputObject $_ } |
B. Vérifier sans supprimer
| Get-CimInstance -ClassName Win32_UserProfile | Where-Object { -not $_.Special -and $_.LastUseTime -lt $cutoff } | Select-Object LocalPath, LastUseTime |
Méthode 3 : utiliser une stratégie de groupe pour standardiser ou compléter le nettoyage
📌 Cas d’utilisation : appliquez des paramètres de stratégie de groupe pour imposer le nettoyage des profils au redémarrage du système et uniformiser le processus sur l’ensemble des appareils.
- Ouvrez l’Éditeur de stratégie de groupe.
- Accédez à : Configuration ordinateur > Modèles d’administration > Système > Profils des utilisateurs.
- Activez le paramètre « Supprimer au redémarrage du système les profils utilisateur dont l’ancienneté dépasse un nombre de jours spécifié ».
- Définissez la valeur sur 30 jours.
💡Conseil : vous pouvez combiner ce paramètre avec un script d’automatisation PowerShell pour garantir une application au niveau du système.
Étapes complémentaires pour automatiser le nettoyage des fichiers temporaires et des profils utilisateur
Voici quelques mesures supplémentaires qui facilitent la suppression des fichiers temporaires et des anciens profils utilisateur.
Méthode 1 : planifier le nettoyage avec le Planificateur de tâches
📌 Cas d’utilisation : créez une tâche planifiée pour exécuter automatiquement les scripts de nettoyage pendant les heures creuses et garantir l’hygiène du système.
A. Créer une tâche planifiée via CMD (invite de commande)
schtasks /create /tn "AutoCleanup" /tr "powershell.exe -File C:\Scripts\Cleanup.ps1" /sc weekly /st 02:00 /ru SYSTEM
B. Valider la planification
schtasks /query /tn "AutoCleanup"
Appliquez un calendrier de nettoyage cohérent à tous vos clients à des fins de reporting et de conformité.
Méthode 2 : consigner les résultats du nettoyage dans le registre pour une visibilité RMM
📌 Cas d’utilisation : consignez l’activité de nettoyage dans le registre ou dans des fichiers locaux pour que votre outil RMM puisse la surveiller, en rendre compte et l’auditer.
A. Créer une clé d’audit et stocker les métadonnées
New-Item -Path "HKLM:\SOFTWARE\Org\CleanupAudit" -ForceSet-ItemProperty -Path "HKLM:\SOFTWARE\Org\CleanupAudit" -Name "LastCleanupDate" -Value (Get-Date).ToString("u")Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\CleanupAudit" -Name "ProfilesRemoved" -Value 3Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\CleanupAudit" -Name "TempFilesDeletedMB" -Value 512 |
B. Interroger via CMD (invite de commande)
reg query HKLM\SOFTWARE\Org\CleanupAudit
Ainsi, votre outil RMM dispose d’un point de données pour la surveillance et les alertes.
⚠️ Points de vigilance
Gardez ces écueils à l’esprit lorsque vous suivez notre guide :
| Risques | Conséquences possibles | Solution |
| Suppression des fichiers temporaires des comptes système | Pannes de service ou instabilité du système | Utilisez une liste blanche pour exclure les comptes système connus. |
| Exécution de tâches planifiées sans les autorisations adéquates | Le script échoue silencieusement ou génère des erreurs | Exécutez les tâches sous le compte SYSTEM ou avec des droits d’administrateur complets. |
| Fichiers non supprimés en raison de problèmes d’autorisations | Nettoyage partiel | Recherchez les fichiers verrouillés ou les autorisations héritées d’un autre utilisateur. |
| Tâche planifiée qui ne s’exécute pas à cause d’une mauvaise configuration | Le nettoyage n’a pas lieu | Vérifiez le chemin du script, la syntaxe et les paramètres système. |
| La GPO ne s’applique pas au comportement visé | Comportement de nettoyage incohérent d’un appareil à l’autre | Utilisez gpresult /h report.html pour vérifier l’héritage de la stratégie de groupe sur tous les terminaux. |
| Application des politiques de nettoyage sans test préalable | Perte accidentelle de données et erreurs système | Testez les scripts et les paramètres de stratégie de groupe dans un environnement de préproduction avant de les déployer. |
Guide de démarrage rapide
NinjaOne propose plusieurs scripts utiles pour nettoyer les fichiers temporaires et gérer les profils utilisateur. Voici quelques options pertinentes :
1. Rapport sur les profils utilisateur orphelins : il existe un script qui « recherche les dossiers de profil utilisateur qui ne sont associés à aucun compte utilisateur ». Il permet d’identifier les profils utilisateur anciens ou inutiles.
2. Gestion des fichiers temporaires : il n’existe pas de script dédié au nettoyage des fichiers temporaires, mais NinjaOne offre des capacités de script flexibles qui vous permettent de créer un script personnalisé pour :
- rechercher et supprimer les fichiers temporaires ;
- nettoyer des répertoires précis ;
- supprimer les anciens profils utilisateur.
3. Souplesse d’automatisation : la plateforme vous permet de créer des scripts personnalisés capables de :
- rechercher les fichiers antérieurs à une date donnée ;
- supprimer les fichiers des répertoires temporaires ;
- gérer les profils utilisateur sur des machines distantes.
Bonnes pratiques pour automatiser le nettoyage des profils utilisateur et des fichiers temporaires
Pour que vos scripts s’exécutent sans accroc dans différents environnements, suivez ces conseils pratiques :
Vérifiez les sessions utilisateur actives avant de supprimer des profils
Si vous ne vérifiez pas les sessions utilisateur actives, vous risquez de supprimer un compte encore utilisé et d’interrompre la journée de travail de quelqu’un.
Pour éviter cela, utilisez quser dans CMD (invite de commande) ou Get-Process -IncludeUserName dans PowerShell afin de vérifier si un utilisateur est toujours connecté.
Excluez les comptes de service ou les connexions partagées du nettoyage
Supprimer des comptes utilisés par des services en arrière-plan ou partagés entre plusieurs utilisateurs peut perturber les tâches automatisées.
Pour y remédier, excluez les comptes de service du nettoyage à l’aide d’un tableau de liste blanche.
Protégez les profils utilisateur récents grâce à des seuils d’ancienneté prudents
Ce n’est pas parce qu’un profil n’a pas été utilisé depuis un moment qu’il n’est plus nécessaire. Certains profils utilisateur sont créés pour un usage temporaire, par exemple pour du personnel à distance ou des cadres dirigeants.
Définir un seuil large (par exemple 60 ou 90 jours) pour identifier les profils obsolètes vous évitera de supprimer par mégarde des comptes valides.
Effectuez une rotation régulière des journaux pour la traçabilité et la gestion du stockage
Créez des synthèses de vos nettoyages dans des fichiers locaux ou des partages réseau pour faciliter le dépannage. Ces journaux doivent indiquer le nombre de fichiers temporaires et de profils utilisateur supprimés par votre script, ainsi que la date.
De plus, vous devez effectuer une rotation de ces synthèses pour économiser de l’espace disque. Pour cela, archivez ou supprimez les journaux les plus anciens.
Comment NinjaOne simplifie le nettoyage à distance des fichiers temporaires et des profils
NinjaOne facilite le maintien de terminaux distants propres et sains grâce aux fonctionnalités suivantes :
- Déploiement et planification des scripts de nettoyage sur l’ensemble des terminaux.
- Suivi des clés de registre indiquant le dernier nettoyage et le nombre de profils supprimés.
- Alertes en cas de fenêtre de nettoyage manquée ou d’échec de script.
- Marquage des appareils à remédier lors des contrôles d’intégrité en fonction de leur utilisation du disque.
- Génération de rapports multi-clients sur la couverture et la réussite des nettoyages.
Avec NinjaOne, les MSP peuvent automatiser l’hygiène des terminaux à grande échelle et suivre les résultats en temps réel pour plusieurs parcs clients depuis un tableau de bord unique.
Améliorez l’hygiène de vos terminaux avec un nettoyage automatisé des profils et des fichiers temporaires
Automatiser la suppression et le nettoyage des fichiers temporaires et des anciens profils utilisateur est une décision judicieuse pour tout MSP. Cela supprime le travail manuel lié à la maintenance de centaines de terminaux et garantit des performances système constantes dans de multiples environnements clients.
En mettant en place des nettoyages planifiés, vous prévenez de manière proactive des problèmes tels que la lenteur du système et le manque d’espace disque.
Sujets connexes :
- Guide complet : comment supprimer les fichiers temporaires dans Windows 10
- Comment utiliser le Nettoyage de disque dans Windows pour optimiser votre système
- Comment utiliser le Nettoyage de disque dans Windows pour optimiser votre système (vidéo)
- Comment afficher les fichiers cachés dans Windows 11 : guide complet
- Comment activer ou désactiver l’Assistant Stockage dans Windows 11
