Script di pulizia della cache del client di Configuration Manager – Libera facilmente spazio su disco. Probabilmente sei già consapevole che SCCM gestisce abbastanza bene la cache del client (elimina gli oggetti più vecchi quando termina lo spazio libero).
Questo script elimina tutto il contenuto della cartella ccmcache più vecchio di X giorni. Funziona con qualsiasi versione di SCCM. Di seguito è riportato il codice per la regola di 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)
}
NOTA: Potresti ottenere un errore nel report se non imposti PowerShell criterio di esecuzione "Bypass" in Impostazioni client predefiniteAgente computer nella console SCCM.
NOTA: Lo script cancella solo la cache nell'elenco dei client. Se aggiorni o reinstalli il client SCCM sul PC client, vedrai che non tutte le cartelle in c:\windowsccmcache persiste nell'elenco della cache. In questa situazione, hai bisogno di un altro script per cancellare la cartella.
Per ottenere l'elenco degli oggetti ccmcache esegui lo script ps:
$CMObject = New-Object -ComObject “UIResource.UIResourceMgr”
$CMCacheObjects = $CMObject.GetCacheInfo()
$CMCacheObjects.GetCacheElements()
finalmente uno script che funziona grazie mille
Ottimo riferimento! Grazie mille.