Configuration Manager Client Cache Cleanup Script – Maak eenvoudig schijfruimte vrij. U weet waarschijnlijk al dat SCCM zijn clientcache redelijk goed beheert (verwijdert oudere objecten wanneer de vrije ruimte eindigt).
This script purges all content in the ccmcache folder that is older than X days. Werk met elke SCCM-release. Hieronder vindt u de code voor de nalevingsregel.
#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)
}
OPMERKING: Mogelijk krijgt u een fout in het rapport als u de PowerShell niet instelt uitvoeringsbeleid "Omzeilen" in Standaard clientinstellingenComputeragent in SCCM-console.
OPMERKING: Script wist alleen de cache in de clientlijst. Als u de SCCM-client upgradet of opnieuw installeert op de client-pc, ziet u dat niet alle mappen in c:\windowsccmcache blijft in de cachelijst staan. In deze situatie, je hebt een ander script nodig om de map te wissen.
Voer het ps-script uit om de lijst met ccmcache-objecten te krijgen:
$CMObject = New-Object -ComObject “UIResource.UIResourceMgr”
$CMCacheObjects = $CMObject.GetCacheInfo()
$CMCacheObjects.GetCacheElements()
eindelijk een script dat werkt heel erg bedankt
Geweldige referentie! Heel erg bedankt.