具有 BITS 远程管理的 BITS Compact 服务器可帮助确保远程文件传送的安全。BITS 远程管理使用 BITS Windows Management Instrumentation (WMI) 提供程序,来允许系统管理员或控制器应用程序在客户端远程创建 BITS 作业,并发布文件以便承载在 BITS Compact 服务器上。BITS WMI 提供程序可以通过将 BITS 客户端与 BITS Compact 服务器结合使用,将文件从一台远程计算机远程传送到另一台远程计算机。该功能主要用于将 Microsoft System Center Virtual Machine Manager (VMM) 用作为控制器应用程序。但是,也可以将可使用 BITS WMI 提供程序的任何应用程序用作控制器应用程序。

重要

所有远程管理活动都必须在管理员组的某个帐户下运行。将拒绝访问不在管理员组中的帐户的任何请求。

体系结构概述

下图显示了远程计算机上的控制器应用程序如何安全地管理客户端和 BITS Compact 服务器上的文件传送。在本例中,控制器应用程序通过 WS-Management 在服务器和客户端上部署作业。(WS-Management 是 Web 服务管理协议的 Microsoft 实现。)由 WS-Management (WSMAN) 服务在服务器和客户端计算机上接收远程调用。这些调用传递给 WMI 服务,而该服务又调用 BITS WMI 提供程序来为这些请求提供服务。

控制器应用程序可以使用 WS-Management 或 WMI DCOM 部署作业。在任何一种情况下,都需要在远程计算机上进行配置以接受传入的请求。有关如何连接到远程计算机上的 WMI 的信息,请参阅 https://go.microsoft.com/fwlink/?linkid=122134(可能为英文网页)。有关 Windows 远程管理的配置的信息,请参阅 https://go.microsoft.com/fwlink/?linkid=122026(可能为英文网页)。

为了传送文件,控制器应用程序建立与在客户端和服务器计算机上运行的 WMI 提供程序的连接。它创建作业以启动文件传送。服务器上的作业定义为承载服务器上文件的 URL。根据以下内容标识作业:

  • URL 组:URL 组承载提供文件的 URL。它由 HTTP.SYS URL 组和请求队列组成。例如,可以在创建期间指定一个 URL 组(如 http://+:80/Carmine)。还可以在 URL 组中指定要使用的协议和主机上的端口。请注意,不支持两个级别的 URL 组,如 http://+:80/Carmine1/Carmine2

  • 源文件:作业要在服务器上承载的文件的名称。

  • URL 后缀:客户端用来唯一标识作业的后缀

  • 客户端指定下载作业的 URL 由以下内容组成:

    • 要使用的协议:HTTP 或 HTTPS

    • 主机名:服务器的名称

    • URL 组:在服务器上承载作业的命名空间。

    • URL 后缀:标识在服务器上创建的作业的后缀。

有关 URL 前缀字符串的详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkId=143141(可能为英文网页)。

以下部分介绍如何创建、监视和删除作业。

在服务器上创建作业

  1. 控制器应用程序建立到 BITS 服务器上 root\Microsoft\Bits 命名空间的连接。WMI 服务器提供程序对远程令牌进行身份验证以检查管理权限。控制器应用程序为将提供下载的 HTTPS 端口设置 SSL 证书。

  2. 控制器应用程序请求 WMI 服务器提供程序在服务器上创建一个 URL 组,该组将允许在服务器上承载 URL。此时可以设置 URL 组的身份验证机制。

  3. 控制器应用程序请求 WMI 服务器提供程序创建一个 URL,该 URL 将允许客户端计算机流程使用驻留在服务器上的特定文件。

  4. 提供程序使用服务器上的 COM 接口创建一个 URL 组,并在此 URL 组中注册一个唯一的 URL 后缀。可以为每个唯一的 URL 设置 SDDL 和证书授权。

  5. 添加到此 URL 组的任何新作业都将共享同一 URL 组及其设置。现在,配置主机并侦听已注册 URL 处来自客户端的任何请求。

在客户端上创建作业

  1. 控制器应用程序建立到客户端计算机上 root\Microsoft\Bits 命名空间的连接。

  2. WMI 客户端提供程序对远程令牌进行身份验证以检查管理权限。请注意,在提供任何数据之前,WMI 提供程序通常还会模拟传入客户端。但在这种情况下,会在打开 WMI 的上下文(本地系统)中处理客户端。这样便允许 BITS 处理被阻止的远程调用。

  3. 控制器应用程序请求 WMI 客户端提供程序创建一个作业,该作业允许使用 BITS 服务将服务器上的特定文件下载到客户端计算机。

  4. 提供程序通过显示的 COM 接口建立与 BITS 服务的连接。

  5. 提供程序模拟控制器应用程序希望在其下运行 BITS 作业的服务帐户。

  6. 将在服务器上为请求的 URL 创建 BITS 作业。

  7. 可以向作业中添加身份验证证书。

  8. 在非受信任域方案中可以为作业设置身份验证凭据。

  9. 创建作业并启动文件传送之后立即恢复 BITS 作业。

监视作业

  1. 控制器应用程序通过客户端提供程序使提供的状态属性监视创建的 BITS 作业。如果作业遇到暂时性错误,则控制器应用程序会获取错误代码、取消 BITS 作业并转到清理阶段。

  2. 如果文件已成功传送,则控制器应用程序会执行清理。

清理作业

  • 当控制器应用程序将 BITS 作业移动到清理阶段时会在客户端上进行清理。如果作业处于 BG_JOB_STATE_TRANSFERRED 状态,则可以将该作业移动到已完成状态。否则可以取消该作业。

  • 由请求服务器提供程序取消承载 URL 的控制器应用程序在服务器上执行清理。删除向该组注册的 URL。客户端可以删除 URL 组,从而删除该 URL 组提供的所有 URL。

其他资源

有关 BITS WMI 调用顺序和方法的详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkId=140888(可能为英文网页)上的“后台智能传送服务”以及 https://go.microsoft.com/fwlink/?LinkId=140985(可能为英文网页)上的“BITS 参考”。

有关使用 WMI 的常规信息,请参阅 https://go.microsoft.com/fwlink/?linkid=136379(可能为英文网页)。

请参阅