Script de nettoyage du cache client Configuration Manager – Libérez facilement de l'espace disque. Vous savez probablement déjà que SCCM gère assez bien son cache client (supprime les objets plus anciens lorsque l'espace libre se termine).
Ce script purge tout le contenu du dossier ccmcache datant de plus de X jours. Travailler avec n'importe quelle version de SCCM. Ci-dessous le code de la règle de conformité.
#discover
$MinDays = 20
$UIResourceMgr = New-Object -com “UIResource.UIResourceMgr”
$Cache = $UIResourceMgr.GetCacheInfo()
($Cache.GetCacheElements() |
where-object {[datetime]$_.LastReferenceTime -lt (get-date).adddays(-$mindays)} |
Measure-object).Count
#remediate
$MinDays = 20
$UIResourceMgr = New-Object -ComObject UIResource.UIResourceMgr
$Cache = $UIResourceMgr.GetCacheInfo()
$Cache.GetCacheElements() |
where-object {[datetime]$_.LastReferenceTime -lt (get-date).adddays(-$mindays)} |
foreach {
$Cache.DeleteCacheElement($_.CacheElementID)
}
NOTE: Vous pouvez obtenir un erreur dans le rapport si vous ne définissez pas le PowerShell stratégie d'exécution "Contourner" dans Paramètres client par défautAgent informatique dans la console SCCM.
NOTE: Le script efface uniquement le cache dans la liste des clients. Si vous mettez à niveau ou réinstallez le client SCCM sur le PC client, vous constatez que tous les dossiers de c:\windowsccmcache persiste dans la liste des caches. Dans cette situation, vous avez besoin d'un autre script pour effacer le dossier.
Pour obtenir la liste des objets ccmcache, exécutez le script ps:
$CMObject = New-Object -ComObject “UIResource.UIResourceMgr”
$CMCacheObjects = $CMObject.GetCacheInfo()
$CMCacheObjects.GetCacheElements()
enfin un script qui fonctionne merci beaucoup
Grande référence! Merci beaucoup.