Aller au contenuAller à l'arborescence
  1. C:
  2. ProgramData
  3. Microsoft
DossierRisque : Prudence

Microsoft C:\ProgramData\Microsoft

Dossier de ProgramData où Windows et les produits Microsoft rangent leurs données partagées entre tous les utilisateurs (Windows, Defender, Crypto, etc.).

Mis à jour le Par AltF4 Formation

À quoi ça sert

Sous %ProgramData% (FOLDERID_ProgramData, données communes à tous les utilisateurs de la machine), Microsoft reçoit les paramètres, caches et états que Windows et les produits Microsoft partagent entre les profils. C’est l’équivalent machine du dossier AppData\Roaming\Microsoft de chaque profil.

Ce qu’il contient

  • Windows : données du système et de la coquille (menu Démarrer commun, rapports d’erreurs, caches), détaillées dans sa propre fiche.
  • Windows Defender : définitions, quarantaine et plateformes de l’antivirus Microsoft Defender.
  • D’autres dossiers selon les composants et les produits installés, par exemple Crypto, Search, NetFramework ou Windows Security Health.

Risques et bonnes pratiques

  • Defender, l’indexation et la cryptographie gardent ici des données dont ils dépendent : supprimer le dossier ou l’un de ses sous-dossiers les met en panne. Ne nettoyez que des sous-dossiers précis, comme les rapports d’erreurs, avec l’outil prévu (Nettoyage de disque).
  • ProgramData est masqué par défaut : affichez les éléments masqués ou utilisez -Force.
  • Plusieurs sous-dossiers ont des autorisations réservées au système, et il vaut mieux ne pas les modifier.
  • Avant de décider de nettoyer, mesurez la taille de chaque sous-dossier pour savoir quel produit occupe la place.

Commandes utiles

Fenêtre de terminal
# Sous-dossiers (le dossier ProgramData est masqué : -Force)
Get-ChildItem "$env:ProgramData\Microsoft" -Directory -Force | Select-Object Name
# Taille approximative par sous-dossier (peut prendre du temps ; en administrateur pour tout lire)
Get-ChildItem "$env:ProgramData\Microsoft" -Directory -Force | ForEach-Object {
[pscustomobject]@{ Dossier = $_.Name
Mo = [math]::Round((Get-ChildItem $_.FullName -Recurse -File -Force -ErrorAction SilentlyContinue |
Measure-Object Length -Sum).Sum / 1MB, 1) }
} | Sort-Object Mo -Descending

Contenu du dossier

Signaler une erreur