Menedżer konfiguracji Skrypt czyszczenia pamięci podręcznej klienta – Zwolnij miejsce na dysku w łatwy sposób. Prawdopodobnie już o tym wiesz SCCM całkiem dobrze zarządza pamięcią podręczną klienta (usuwa starsze obiekty, gdy kończy się wolne miejsce).
Ten skrypt usuwa całą zawartość folderu ccmcache starszą niż X dni. Pracuj z dowolnym SCCM uwolnienie. Poniżej znajduje się kod reguły zgodności.
#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)
}
NOTATKA: Możesz otrzymać błąd w raporcie, jeśli nie ustawisz opcji PowerShell zasady wykonywania „Pomiń” w Domyślnych ustawieniach klientaAgent komputerowy w SCCM Konsola.
NOTATKA: Skrypt czyści tylko pamięć podręczną na liście klientów. Jeśli dokonasz aktualizacji lub ponownej instalacji SCCM klienta na komputerze klienckim widzisz, że nie wszystkie foldery w c:\Windowsccmcache pozostają na liście pamięci podręcznej. W tej sytuacji, potrzebujesz innego skryptu, aby wyczyścić folder.
Aby uzyskać listę obiektów ccmcache, uruchom skrypt ps:
$CMObject = New-Object -ComObject “UIResource.UIResourceMgr”
$CMCacheObjects = $CMObject.GetCacheInfo()
$CMCacheObjects.GetCacheElements()
w końcu działający skrypt, wielkie dzięki
Świetne odniesienie! Dziękuję bardzo.