Tidy Cache – Clean Up Old CCMCache
November 17, 2015 1 Comment
You are probably already aware that ConfigMgr manages its client cache pretty well. I’ve run into situations where server VMs are running leaner and leaner, with much less disk space on the system drive than desired, so I built a compliance settings rule that will help keep the cache a little more tidy than we do out-of-the-box.
This script is an example to purge all content in the ccmcache folder that is older than 60 days. Below is a simple example for creating a compliance settings rule.
Create a new Configuration Item CI, and paste the contents of the Discovery script and Remediation script into their respective locations. Create a new compliance rule, for where the count from your discovery script equals zero, as shown below.
Discovery Script:
#discover $MinDays = 60 $UIResourceMgr = New-Object -ComObject UIResource.UIResourceMgr $Cache = $UIResourceMgr.GetCacheInfo() ($Cache.GetCacheElements() | where-object {[datetime]$_.LastReferenceTime -lt (get-date).adddays(-$mindays)} | Measure-object).Count
Remediation Script:
#remediate $MinDays = 60 $UIResourceMgr = New-Object -ComObject UIResource.UIResourceMgr $Cache = $UIResourceMgr.GetCacheInfo() $Cache.GetCacheElements() | where-object {[datetime]$_.LastReferenceTime -lt (get-date).adddays(-$mindays)} | foreach { $Cache.DeleteCacheElement($_.CacheElementID) }
Deploy this script (with remediation) to your test lab group, and verify that it properly purges content that is older than 60 days in the ccmcache folder.
All Set! Test, test, and release to prod!
Greg
Hi – can you send me a screen pic (ramseyg@hotmail.com) ? From my tests, I don’t see much issue. This is a seasonal ‘feature’ from WP (I have the option to disable, but haven’t been told that this impacts the user experience before). Greg