SCCM内容库清理工具
如果希望清理SCCM中的内容库,必须使用content library Cleanup工具。内容库清理工具从SCCM中删除孤立的内容分配点.
在这篇文章中,我将介绍什么是内容库清理工具,它的要求和如何使用它。您可以在站点服务器上的CD.Latest\SMSSETUP\TOOLS\ContentLibraryCleanup中找到ContentLibraryCleanup.exe。
目录
什么是SCCM内容库清理工具
内容库清理工具基本上是一个命令行工具。使用此工具可以删除分发点上的孤立内容。
在分发点上什么是孤儿内容?任何与SCCM应用程序或包不关联的内容都被视为孤立内容。删除孤立的内容很重要,因为这将节省分发点上的磁盘空间。将孤立的内容保留在分发点上是没有意义的。
这个工具是在技术预览版1612.但是现在,您应该在每个版本中都能找到这个工具SCCM电流支路.
SCCM内容库清理工具需求
在执行内容库清理之前,以下是使用此工具的一些要求。
您可以直接在承载分发点的计算机上运行内容库清理工具。最重要的是,您还可以从另一个服务器远程运行该工具。您可以针对单个对象运行该工具分配点一次。
如果您正在运行此工具,那么请确保您是配置管理器层次结构中的完全管理员。否则,您将看到下面的错误。
System.Management.ManagementException:该工具不能使用当前用户运行,因为当前用户没有' Full Administrator ' RBAC角色和' All '作用域。
内容库清理工具命令行选项
正如我前面提到的,SCCM内容库清理是一个命令行工具。所以这个工具有多个开关,下表列出了所有的开关。
内容库清理工具开关 | 描述 |
/删除 | (可选)删除DP中的内容 |
/ q | (可选)静音模式,抑制所有提示信息 |
/dp < dp FQDN> | (必选)指定分发点FQDN |
/ps <主站点FQDN> | (可选)指定分发点所属主站点的FQDN |
/sc(网站代码) | (可选)指定分发点所属主站点的站点代码 |
/日志 | (可选)将结果输出到日志文件中 |
工具使用
大多数工具可以在两种模式下运行假设模式而且删除模式。当您在what-if模式下运行该工具时,该工具会发现可以从DP中删除的孤立内容。但是内容不会被删除。
日志文件记录所有这些信息。您可以从Temp文件夹中获取日志文件。
当您以删除模式运行该工具时,孤立的内容将从DP的内容库中删除。因此,建议您首先在What-If模式下运行该工具,并在使用/delete开关之前检查生成的日志文件。
如何在SCCM中使用内容库清理工具
下面是在SCCM中使用内容库清理工具的步骤。
首先,找到内容库清理工具。寻找ContentLibraryCleanup.exe在CD.Latest \ SMSSETUP \ \ ContentLibraryCleanup工具在站点服务器上。
若要在分发点服务器上运行此工具,请将此工具复制到计算机。以管理员身份运行命令提示符。执行命令ContentLibraryCleanup.exe没有任何开关,您应该会看到工具使用选项。
要执行内容库清理,在分发点服务器上运行以下命令:-
ContentLibraryCleanup.exe /dp dp FQDN /log <文件夹路径> .exe /dp
在我的例子中,服务器上几乎没有孤立的内容。这是我的实验服务器,所以当我在whatifmode下运行命令时,我看到非常少量的数据实际上是陈旧的。结果,没有什么东西可以从分发点删除,因此我看到一条消息,没有可以释放的孤立内容。
此外,当我检查日志文件时,它表明没有可以释放的内容。
如果您的分发点服务器上有陈旧的内容,您必须在删除模式下运行该工具。
ContentLibraryCleanup.exe /delete /dp < dp FQDN> /log <日志文件路径> .exe
日志文件显示释放了大约0个字节。因为没有陈旧的内容要删除,所以该消息是正确的。
内容库清理工具在行动
现在我要在我的prod环境中的分发点服务器上运行内容库清理。首先,我以假设模式运行工具。类型Y继续。
输出显示大约有137 11,835字节的数据可以释放。
最后我把工具放进去/删除模式在prod DP服务器上删除所有孤立的内容。我读过一些评论,有些人在运行工具时出错。我将在另一篇文章中讨论这些错误。
请注意-如果您使用旧版本的内容库工具,那么您最终会看到错误。此工具版本已过期,无法使用。
视频教程-内容库清理工具
下面是一个视频教程,展示了配置管理器内容库清理工具是如何工作的。
如果我的内容在网络共享上,我该如何运行它?
普拉杰瓦尔,我只有一个网站,我如何清理SCCMContentLib文件夹?仅仅删除单个站点的旧文件夹安全吗?到目前为止,从我的研究来看,您还不能在单个服务器上运行该工具。谢谢
你好Prajwald,
我有一个基于云欢迎您~的DP,一个正式的MS手册指出“工具不支持支持内容的云管理网关”。
有没有办法清理基于云的DP ?欢迎您~
谢谢
被罩
嗨,我
你找到满足这个需求的解决方案了吗?就连我也有类似的要求。
问候,
Prabakaran
嗨Prajwal,
命令运行正常。
初步分析后,我发现很多无效内容出现在孤立的内容之前。
是否可以删除那些无效的内容?
嗨……我尝试运行内容清理命令,但仍然得到以下错误:
System.Management.ManagementException:该工具不能使用当前用户运行,因为当前用户没有' Full Administrator ' RBAC角色和' All '作用域。
我有完全管理员访问SCCM管理员,但仍然得到错误。现在已经3天了。请建议。
谢谢
以前从没见过这个错误。你能确认一下范围部分吗?
所以,我知道这是一年前,但我遇到了同样的问题,我在网上发现人们说这是一个配股问题,但我发现我只需要定义/ps和/sc,一旦我这样做了,它就像预期的那样工作了。
你好,
只需按照本指南回收空间并进行一般维护。
任何建议与以下输出消息将不胜感激?
分析本地文件,93.84%完成…
分析本地文件,98.18%完成…
正在分析本地文件,100.00%完成…
从提供者加载包数据…
正在加载本地包数据…
从提供者加载分布式包…
因为这个分发点与其站点服务器位于同一位置,所以包可能
正确存在于未分发到分发版的内容库中
起跳点。包删除已禁用。
以下内容可能是孤立的。它们不是任何包装的一部分
Ckage可能已经在站点服务器上删除:
删除85b23fd3-bddf-43f2-a8b3-5cda9e3a88c0: ' y ' = yes / ' n ' = no / ' a ' = yes to
All / ' s ' =跳过所有::
这是继续删除孤立内容的提示符。你可以按“y”键逐个删除,或者按“a”键让工具删除所有这类孤立的内容。当它找到另一种OC时,它会再次询问你,即使你之前选择了“a”。
您还可以使用/q开关运行该工具以绕过所有提示并删除它找到的所有内容。
嗨Prajwal,
我需要澄清一点。通过使用这个工具可以删除什么,以及如何检查删除了什么数据。是否删除了?我们可以在后台找到这个。
有重要的数据被删除了吗
我只是想说,上次有人在我们的主站点服务器上运行这个工具,它从DataLib文件夹中删除了很多用过的INI文件。正如我在MS上检查的,不建议在主站点服务器上做。你对这件事有什么看法?
提前感谢你的帮助。
大卫
你好,普拉杰瓦尔,非常感谢你在SCCM所做的所有工作。
我可以在“如果”模式下运行该工具,并正确地接收到日志,但我在“删除模式”下运行此工具有问题,据我所知,这是因为我的DP也是主站点服务器。在这种情况下,是否有方法清理主站点服务器上的内容库文件夹?它正在扩展,我已经删除了一些旧的应用程序,但它无助于清理空间。你能建议一下吗?
嗨Prajwal,
最近在我的环境中,我在我的DP上遇到了一些孤立文件的麻烦。
每次我们运行这个命令时,我们都可以看到它清除了大量的Gig,而且都来自Windows Update部署包。
我们对部署包使用“启用二进制差异复制”选项。在整个包定期更改(所有被取代的更新都从部署包中删除)的情况下,是否不应该使用此选项?
提前谢谢你。
的问候。
迈克尔
如果没有错的话,它清理的是kb,而不是bytes
嗨Prajwal,
安装了所有更新的SCCM 2002(一台服务器上的所有角色)。
当在本地服务器上以管理员(域管理员)的身份使用cmd运行这个工具时,我得到以下错误。
我应该寻找什么并尝试解决这个问题?
谢谢,
日月光半导体
分析本地文件,99%完成…
分析本地文件,100,00%完成…
从提供者加载包数据…
System.Management.ManagementException:无法加载有效的包。请检查指定的站点服务器位置,并确保您可以访问站点服务器和提供商。- > System.Management.ManagementException:取消呼叫
System.Management.ManagementException.ThrowWithExtendedInfo (ManagementStat我们错误代码)
在System.Management.ManagementObjectCollection.ManagementObjectEnumerator.MoveNext ()
在Microsoft.ConfigurationManager.ContentLibraryCleanup.CLContentLibrary.LoadPackageToContentFromProvider ()
在Microsoft.ConfigurationManager.ContentLibraryCleanup.CLContentLibrary.LoadValidContentData ()
-内部异常堆栈跟踪结束-
在Microsoft.ConfigurationManager.ContentLibraryCleanup.CLContentLibrary.LoadValidContentData ()
Microsoft.ConfigurationManager.ContentLibraryCleanup.Program.Main (String []args)
"确保你能访问网站服务器和提供商" -你看到了吗。您使用什么帐户来运行这个工具。
嗨Prajwal,
我以域管理员身份使用RDP登录服务器,然后以管理员身份启动CMD窗口,所以我觉得权限应该足够了。“提供者”在此内容中是什么意思?
谢谢,
日月光半导体
尝试在服务器上进行站点重置,并尝试从工作站上而不是实际的服务器上运行该工具,但结果相同。有人有想法吗?
/ /日月光半导体
嗨Prajwal
非常感谢你总是分享你的知识和专长,
你已经多次在我需要的时候给了我真正的帮助!
我只是想让你知道。
保重,再次感谢!
查理
谢谢你!
谢谢Prajwal,我已经成功地使用这个工具一段时间了,但在过去的几个月里,我现在收到一个Windows错误消息“这个应用程序不能在你的PC上运行。要找到一个版本为您的PC检查与软件出版商”。华体会体育系列如果我试图从CMD或文件资源管理器启动,就会发生这种情况。我在网上几乎找不到关于这个故障的信息。感谢任何帮助!谢谢。詹姆斯。
我也有同样的问题,请帮帮我。
好的,我需要一些详细信息,比如你在哪个服务器上运行这个工具,SCCM版本是什么,应用程序在服务器上运行被阻止了吗?
嗨Prajwal。你找到解决办法了吗?我也有同样的问题。我在Windows Server 2012 R2上运行EndPoint ConfgMgr ver 2002。
不,史蒂夫,我已经使用这个工具无数次了,我从来没有遇到过这个错误。我无法在我的实验室设置中重现这个错误。我已经在我的prod设置中测试了这个工具,它工作得很好。
谢谢你的快速回复。信不信由你,在我发表评论后的短时间内,我设法找出了这个问题。出于某种原因,我服务器上的ContentLibraryCleanup.exe太旧了。我从微软下载了当前的ISO,提取了最新的文件并将其复制到我的主服务器上,它没有出现错误。
这就引出了一个问题……为什么我服务器上的文件不是最新的?这让我担心所有其他的工具也都过时了。我最近才更新到2002年。升级不更新cd.latest文件夹中的文件吗?什么好主意吗?
嗨,非常感谢你Prajwal,这个工具正在按照描述工作。我还有140 GB的数据。另一个“问题”目录是windows 10更新的源目录。这似乎也太大了,有75 GB的数据。有没有办法用工具把它清理干净?来自德国的问候,斯特凡
ConfigMgr经理将删除旧的更新。
亲爱的Rrajwal,
我检查了路径,文件是内容库清理文件在那里,但它似乎已经损坏,它只有1KB,似乎是记事本,请让我知道,我可以从哪里下载内容库清理文件?
scc1606有内容库清理工具不可提供的位置。请建议我下载。
将SCCM升级到更高版本以获得此工具。
内容库清理工具下载在sccm1606中不可用,那么我如何下载工具。
将SCCM升级到更高版本以获得此工具。
你好,
该工具如何查找孤立的内容?它到底检查什么,并与id比较内容实际上是孤立的。只是想知道里面都发生了什么。
有一些很好的成功,但现在大多数DP在运行该工具时都得到了这个结果。
System.Management.ManagementException:无法加载有效的包。请切
检查指定的站点服务器位置,并确保您可以访问站点服务器
Ver和提供者。- > System.Management.ManagementException:配额冲突
n
System.Management.ManagementException.ThrowWithExtendedInfo (ManagementStat
我们错误代码)
在System.Management.ManagementObjectCollection.ManagementObjectEnumerator.Mo
veNext ()
在Microsoft.ConfigurationManager.ContentLibraryCleanup.CLContentLibrary.Load
PackageToContentFromProvider ()
在Microsoft.ConfigurationManager.ContentLibraryCleanup.CLContentLibrary.Load
ValidContentData ()
-内部异常堆栈跟踪结束-
在Microsoft.ConfigurationManager.ContentLibraryCleanup.CLContentLibrary.Load
ValidContentData ()
在Microsoft.ConfigurationManager.ContentLibraryCleanup.CLContentLibrary . .首席技术官
r(String remoteDPFqdn, String primarySiteServerFqdn, String primarySiteCode)
Microsoft.ConfigurationManager.ContentLibraryCleanup.Program.Main (String []
args)
我也有同样的问题。你找到解决办法了吗?
我有SCCM 2012 R2。我想能够运行ConfigMgr内容库清理工具,但显然我的版本没有它。我必须安装“技术预览版1612”或更高版本才能获得ContentLibraryCleanup.exe,还是可以从其他地方下载?正如你所说的,这个工具可以在SCCM 2012 R2上运行,我如何才能获得它?
安装技术预览版本1612及以上,并抓取工具。将该工具复制到SCCM 2012 R2服务器,并在任何DP上使用它。
没有太多的错误,但更多的是这个工具不能正常工作…报告了一些孤立的内容,我正在逐一确认删除,但它看起来不正确。
在我删除的下一个包中,我查看了SCCM控制台,它成功地分发到我正在运行该工具的DP上。我继续执行并确认删除下一个孤立项目,然后在该分发点上对包进行验证,并返回红色……内容错误。
这个工具到底在做什么,它是如何确定内容的,如果它删除了合法的东西,导致之前成功分发的地方验证失败。
我在从DP以及主服务器运行时得到这个错误。
收集信息…
从分布点加载信息…
System.Management.ManagementException:当前工具不能运行
因为当前用户没有“完整管理员”RBAC角色
以及“所有”范围。
在Microsoft.ConfigurationManager.ContentLibraryCleanup.CLContentLibrary . .首席技术官
r(String remoteDPFqdn, String primarySiteServerFqdn, String primarySiteCode)
Microsoft.ConfigurationManager.ContentLibraryCleanup.Program.Main (String []
args)
这个错误不是很清楚吗?该工具无法使用当前用户运行,因为当前用户不具有“完全管理员”RBAC角色和“所有”范围-检查您正在使用的帐户权限来运行此工具。
嗨
感谢你的精彩帖子!
我已经成功地在DPs上运行了这个工具
但是在安装了DP角色的备用站点上失败了。我知道这个工具不能在主站点上运行,但也不能在次要站点上运行?
当你在备用站点的DP上运行这个工具时,你会看到什么?
我在尝试运行这个工具时遇到了同样的问题。
我得到错误“…不能立即清理,因为包“PR000F5”没有完全安装。
我如何去确保该包被视为完整或工作,请?
(据我所知,包裹是正确分发的,因为它一直运行良好)。
提前谢谢你
我在这里已经谈到了这个问题//www.photo-critics.com/content-library-cleanup-error-this-content-library-cannot-be-cleaned-up-right-now/
我得到这个错误系统。InvalidOperationException:这个内容库不能被正确地清理
因为BGR0006D包还没有完全安装。”我在其他几个包上收到了这个错误,并删除了它们。但是,在我的系统中没有这个ID的包。当我奔跑
PS BGR:> Get-CMPackage | select PackageID
PackageID
- - -
BGR00001
BGR00003
BGR00009
BGR0000C
BGR00014
BGR00015
BGR0001D
BGR00026
BGR0002A
BGR00030
BGR00035
BGR00047
BGR00048
BGR0005A
BGR0005F
BGR00060
BGR00061
BGR00062
BGR00067
BGR00068
BGR00069
BGR0006A
BGR0006F
BGR00075
BGR0007A
BGR0008D
如您所见,没有包BGR0006D。你知道现在该怎么办吗?谢谢你的帮助。
试试SQL的方法。使用下面的查询查看包是否存在。
Select * from smspackages where pkgid= ' SRV000CD '
或
select * from pkgstatus where id= ' SRV000CD ' AND sitecode= ' XXX '
如果您使用的是CM的旧版本,可以运行该工具吗?
我用的是c1606。
如果在这种情况下运行该工具会产生什么效果?
我在SCCM 2012 R2上测试了这个工具,效果很好。不确定R2之前的版本。但是是的,该工具应该在CM1606上工作良好
太好了,我今天就测试一下。
此外,这将只工作在DP的或也在网站服务器上的内容库?
它适用于DP
仅用于分发点,还是也用于主站点服务器上的内容库?
该工具可以直接在承载分发点的计算机上运行,也可以从另一台服务器远程运行。
谢谢。这也可以运行以清除主站点服务器上的内容库吗?
还是只针对分发点?
是的,它在DP的工作。
我试着在SCCM 2012 Infra上运行,在Dp和主SCCM服务器上得到以下错误消息。
我已经是这两台服务器的管理员了。
收集信息…
从分布点加载信息…
System.Management.ManagementException:当前工具不能运行
因为当前用户没有“完整管理员”RBAC角色
以及“所有”范围。
在Microsoft.ConfigurationManager.ContentLibraryCleanup.CLContentLibrary . .首席技术官
r(String remoteDPFqdn, String primarySiteServerFqdn, String primarySiteCode)
Microsoft.ConfigurationManager.ContentLibraryCleanup.Program.Main (String []
args)
一个有用的工具的伟大预览。我很好奇,将被删除的字节的格式将在当前分支版本中被修复吗?137,11,835应该是13,711,835字节。不过,最多只是小烦恼。
哇. .良好的观察。希望它能被修复。
所以这个工具现在只在技术预览版本中,但下一个产品版本中会包含它吗?
我可以看到这个工具为我们的一些客户的分发点释放了大量的磁盘空间。
是的,没错。
如果任何分发处于进行中或失败状态,该工具将崩溃
谢谢你的提醒。在内容分发期间,我没有测试过这个工具。当你说工具崩溃时,你到底看到了什么?
嗨,Prajwal,实际上工具说一个包/程序没有完全下载并停止工作。当包/程序处于失败状态时,也会发生同样的情况。
嗨,谢谢你的演讲,我同意你的观点。如果包没有完全安装,工具崩溃:System。InvalidOperationException:这个内容库现在不能被清理,因为包VAL01FC6没有完全安装。
非常感谢你报道这个问题。我会向微软报告这个问题,我会看看这个问题是否可以在下一个版本中修复
你好!
在运行工具的最后,我得到了这样一条消息:因为这个分发点与其站点服务器位于同一位置,所以没有分发到分发点的包可能正确地存在于内容库中。包删除已禁用。
如何启用删除功能?
当您运行此工具时,分发队列中是否有任何包?
我想是的。
我建议您在分发队列中有包时不要运行此工具。