内容库清理工具

适用于: Configuration Manager(current branch)

使用内容库清理命令行工具删除不再与分发点上的对象关联的内容。 这种类型的内容称为 孤立内容。 此工具将替换旧版针对过去Configuration Manager产品发布的类似工具。

该工具仅影响在运行该工具时指定的分发点上的内容。 该工具无法从站点服务器上的内容库中删除内容。

如果在站点系统脱机时从分发点中删除内容,则 WMI 中可以存在孤立记录。 随着时间的推移,此行为最终可能导致分发点出现警告状态。 若要缓解版本 2006 及更低版本中的问题,必须手动从 WMI 中删除孤立条目。 在此过程中出错可能会导致服务器出现更严重的问题。 从版本 2010 开始,该工具还可以从分发点上的 WMI 提供程序中删除孤立的内容记录。

在站点服务器上查找 ContentLibraryCleanup.exeCD.Latest\SMSSETUP\TOOLS\ContentLibraryCleanup 。 有关此位置的详细信息,请参阅 CD.Latest 文件夹

要求

  • 一次仅针对单个分发点运行该工具。

  • 直接在托管分发点的服务器上运行它以清理,或从另一台计算机远程运行。

  • 该工具不支持从具有单个内容库的站点服务器中删除内容。 当站点服务器还具有分发点角色时,如果包不是针对服务器的,则包仍位于单个内容库中。

  • 该工具不支持已启用内容的云管理网关。

  • 运行该工具的用户帐户必须具有与 Configuration Manager 中“完全管理员”安全角色相同的权限。

操作模式

在以下两种模式下运行该工具: What-ifDelete

提示

What-if 模式开始。 如果对结果感到满意,请在 删除 模式下运行该工具。

What-if 模式

如果未指定 /delete 参数,该工具将在 What-if 模式下运行。 此模式标识将从分发点中删除的内容。

  • 在此模式下运行时,该工具不会删除任何数据。

  • 该工具向日志文件中写入有关要删除的内容的信息。 系统不会提示你确认每个可能的删除。

删除模式

使用 /delete 参数运行该工具时,该工具将在删除模式下运行。

  • 在此模式下运行时,可以从分发点的内容库中删除它在指定分发点上找到的孤立内容。

  • 从版本 2010 开始,它还可以从分发点上的 WMI 提供程序中删除孤立的内容记录。

  • 在删除每个文件之前,请确认该工具应将其删除。 选择 “Y ”表示“是”, 选择“N ”表示“否”或“ 是”, 以跳过进一步的提示并删除所有孤立内容。

日志文件

当工具在任一模式下运行时,它会自动创建日志文件。 它使用以下信息命名文件:

  • 工具运行的模式
  • 分发点的名称
  • 操作的日期和时间

该工具完成后,会自动在 Windows 中打开日志文件。

默认情况下,该工具会将日志文件写入运行该工具的用户帐户的临时文件夹。 此位置位于运行该工具的计算机上,而该工具并非始终是该工具的目标。 /log使用 参数将日志文件重定向到另一个位置,包括网络共享。

运行工具

若要运行该工具,请执行以下操作:

  1. 以管理员身份打开命令提示符。 将目录更改为包含 ContentLibraryCleanup.exe的文件夹。

  2. 输入包含所需 命令行参数和要使用的任何可选参数的命令行。

命令行参数

按任意顺序使用这些命令行参数。

必需参数

参数 详细信息
/dp <distribution point FQDN> 指定要清理的分发点的完全限定域名 (FQDN) 。
/ps <primary site FQDN> 仅当从辅助站点的分发点中清除内容时才需要。 该工具连接到父主站点,以针对 SMS 提供程序运行查询。 通过这些查询,该工具可以确定分发点上应包含的内容。 然后,它可以识别要删除的孤立内容。 必须针对辅助站点上的分发点建立到父主站点的此连接,因为无法直接从辅助站点获取所需的详细信息。
/sc <primary site code> 仅当从辅助站点的分发点中清除内容时才需要。 指定父主站点的站点代码。

示例:扫描并记录它将删除的内容 (what-if)

ContentLibraryCleanup.exe /dp server1.contoso.com

示例:扫描和记录辅助站点中 DP 的内容

ContentLibraryCleanup.exe /dp server1.contoso.com /ps siteserver1.contoso.com /sc ABC

可选参数

参数 详细信息
/delete 准备好从分发点中删除内容时,请使用此参数。 它会在删除内容之前提示你。

如果不使用此参数,该工具将记录有关它将删除的内容的结果。 如果没有此参数,它实际上不会从分发点中删除任何内容。
/q 此参数在禁止显示所有提示的安静模式下运行该工具。 这些提示包括删除内容时。 它也不会自动打开日志文件。
/ps <primary site FQDN> 仅当从主站点的分发点中清除内容时,才可选。 指定分发点所属的主站点的 FQDN。
/sc <primary site code> 仅当从主站点的分发点中清除内容时,才可选。 指定分发点所属的主站点的站点代码。
/log <log file directory> 指定工具写入日志文件的位置。 此位置可以是本地驱动器或网络共享。

如果不使用此参数,该工具会将日志文件放置在运行该工具的计算机上的用户临时目录中。

示例:删除内容

ContentLibraryCleanup.exe /dp server1.contoso.com /delete

示例:删除不带提示的内容

ContentLibraryCleanup.exe /q /dp server1.contoso.com /delete

示例:登录到本地驱动器

ContentLibraryCleanup.exe /dp server1.contoso.com /log C:\Users\Administrator\Desktop

示例:登录到网络共享

ContentLibraryCleanup.exe /dp server1.contoso.com /log \\server\share

已知问题

在版本 2103 及更早版本中,当任何包或部署失败或正在进行时,该工具可能会返回以下错误:

System.InvalidOperationException: This content library cannot be cleaned up right now because package <packageID> is not fully installed.

若要解决此问题,请将站点更新到版本 2107。 该工具无法可靠地识别孤立文件,但会显示警告并继续。