配置管理器 客户端缓存清理脚本 – 轻松释放磁盘空间. 您可能已经意识到 SCCM 很好地管理其客户端缓存 (当可用空间结束时删除旧对象).
此脚本清除 ccmcache 文件夹中早于 X 天的所有内容. 与任何人一起工作 SCCM 发布. 以下是合规规则的代码.
#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)
}
笔记: 您可能会得到一个 错误 如果您没有设置,则在报告中 电源外壳 默认客户端设置计算机代理中的执行策略“绕过” SCCM 安慰.
笔记: 脚本仅清除客户端列表中的缓存. 如果您升级或重新安装 SCCM 客户端电脑上的客户端您会看到并非所有文件夹都在c中:\windowsccmcache 保留在缓存列表中. 在这种情况下, 您需要另一个脚本来清除文件夹.
要获取 ccmcache 对象列表,请运行 ps 脚本:
$CMObject = New-Object -ComObject “UIResource.UIResourceMgr”
$CMCacheObjects = $CMObject.GetCacheInfo()
$CMCacheObjects.GetCacheElements()
终于有一个可以运行的脚本了,非常感谢
很好的参考! 非常感谢.