将数据从 Configuration Manager 导入 Service Manager
本文描述如何创建、配置、禁用和启用 Configuration Manager 连接器,以及如何自定义用于收集硬件信息的 Configuration Manager 扩展 SMS_def.mof 文件。 使用连接器将数据从 Configuration Manager 导入 Service Manager。
适用于 Configuration Manager 的连接器可识别用户设备相关性和移动设备并在 Service Manager 数据库中对其进行同步。
可以将数据从 Configuration Manager 站点数据库导入到 System Center 数据库中。 这样会为要在 System Center 中管理的硬件和软件自动创建和填充配置项目。 从 Configuration Manager 中导入数据之后,可以将各自的配置项目附加到相关事件,配置项目中的信息将可供处理事件的分析师使用。
可以使用 Configuration Manager 连接器从 Configuration Manager 中导入配置基线,然后使用这些配置基线为不相符的配置项目自动生成事件。
有关更改和配置的 Microsoft Operations Framework (MOF) 实现的信息,请参阅 Position of the Change and Configuration SMF Within the MOF IT Service Lifecycle(MOF IT 服务生命周期中更改和配置 SMF 的位置)。
完成数据仓库注册过程
在创建 Configuration Manager 连接器之前,必须确保数据仓库注册过程已完成。
Configuration Manager 中的其他数据
Configuration Manager 中的其他数据包括用户设备相关性 (UDA)、移动设备数据和软件请求数据。 Configuration Manager 中的 UDA 数据可更准确地确定计算机或设备的主要用户。 Service Manager Configuration Manager 连接器所收集的 UDA 数据用于在 Service Manager 数据库中填充 UsesComputer 和 PrimaryUser 信息。
Windows Phone、Windows 移动电话和 Nokia 设备的移动设备数据将由 Service Manager Configuration Manager 连接器进行收集。 使用 Configuration Manager Exchange Server 连接器时,将收集来自其他移动设备(如 iPhone、BlackBerry 和基于 Android 的手机)的数据。 移动设备数据将作为配置项目被导入到 Service Manager 数据库中,而且它可与工作项、事件管理和变更管理进行关联。
软件请求数据将用于支持自助服务软件请求与 Configuration Manager 的集成。 来自 Configuration Manager 的管理类别数据将用于选择从自助服务门户创建请求时要应用的服务请求模板。
计划
可以将 Configuration Manager 连接器配置为按定期计划更新 Service Manager 数据库。 也可以通过禁用连接器暂时挂起从 Configuration Manager 中导入数据这一操作。 例如,可以在对 Configuration Manager 站点数据库执行维护时禁用连接器,因为你知道维护过程会临时创建不准确的数据。 如果合适的话,您可以重新启用连接器并继续导入数据。
使用 Configuration Manager 扩展的硬件清单
在 Configuration Manager 中,通过收集附加 Windows Management Instrumentation (WMI) 类、附加 WMI 类属性、注册表项和其他自定义项的清单,可以扩展硬件清单以满足组织的要求。 有关在 Configuration Manager 中扩展硬件清单的详细信息,请参阅 如何扩展硬件清单。
如果在 Configuration Manager 中扩展了硬件清单,则必须在 Service Manager 中创建新的 Configuration Manager 连接器管理包来收集扩展的硬件清单。 此新管理包可能只包含从 Configuration Manager 中收集扩展的硬件清单所需的信息,或者可能包含原始 Configuration Manager 连接器管理包以及新扩展的硬件清单中的一切内容。 有关创建新的连接器管理包的信息,请参阅 如何为扩展的 SMS_def.mof 文件配置 Configuration Manager 连接器。
导入软件配置项目
可以使用 Configuration Manager 连接器导入软件配置项目,方法是在 Configuration Manager 中导入以下资产智能报告类。 在 Service Manager 中配置 Configuration Manager 连接器之前,应先在 Configuration Manager 中启用这些类。 有关在 Configuration Manager 中启用资产智能的详细信息,请参阅 如何启用资产智能。
SMS_InstalledSoftware
SMS_SystemConsoleUsage
SMS_SystemConsoleUser
SoftwareLicensingService
SoftwareLicensingProduct
如果特定计算机的软件未显示在 “配置项”工作区的“所有软件 ”视图中,则应查看 Service Manager 主管理服务器上的 Operations Manager 事件日志。 应查找来源为 OpsMgr 连接器和 Lfx 服务的事件,以确定是否有任何错误。
创建 Configuration Manager 连接器
可以使用以下过程创建连接器,将数据从 Configuration Manager 导入 System Center - Service Manager,并确认连接器的状态。
重要
在创建 Configuration Manager 连接器之前,必须验证 Configuration Manager 是否已安装在环境中,并且必须打开 Windows 用户帐户控制(UAC)。 有关 UAC 的详细信息,请参阅 用户帐户控制。
若要创建 Configuration Manager 连接器,请执行以下步骤:
- 在 Service Manager 控制台中,选择“ 管理”。
- 在 “管理 ”窗格中,展开 “管理”,然后选择“ 连接器”。
- 在“任务”窗格中的“连接器”下,选择“创建连接器”,然后选择“Configuration Manager 连接器”。 Configuration Manager 连接器向导启动。
- 在“开始之前”页面上,选择“下一步”。
- 在 “常规 ”页上,执行以下操作:
- 在 “名称 ”框中,输入新连接器的名称。 例如,输入 Configuration Manager 连接器到 Seattle。
- 在 “说明 ”框中,输入新连接器的说明。 例如,输入 Configuration Manager 连接器到站点 Seattle。
- 确保 选中“启用 ”复选框,然后选择“ 下一步”。
- 在“选择管理包”页上的管理包列表中,选择 System Center Configuration Manager 连接器配置或 System Center Configuration Manager 2012 连接器配置,然后选择“下一步”。
- 在“选择管理包”页上的管理包列表中,选择 System Center Configuration Manager 连接器配置,然后选择“下一步”。
在“连接到 System Center Configuration Manager 数据库” 页面上,执行以下操作:
- 在 “数据库服务器名称 ”框中,输入托管 Configuration Manager 站点数据库和数据库命名实例的服务器的服务器名称(如果适用)。 例如,在假设的 Woodgrove Bank 中,如果 Configuration Manager 数据库位于 Microsoft SQL Server 的命名实例上,则可以输入 woodgrove\instance1 ;如果数据库位于 SQL Server 的默认实例上,则可以输入 woodgrove 。
- 在“ 数据库名称 ”框中,输入 Configuration Manager 站点数据库的名称。 例如,输入 SMS_CM1。
- 在“凭据” 区域中,选择运行方式帐户或创建新的运行方式帐户。 指定为运行方式帐户的用户帐户必须是 Configuration Manager 站点数据库的 smsdbrole_extract 和 db_datareader 组的成员。
- 在 “凭据 ”区域中,选择“ 测试连接”。
- 在 “凭据 ”对话框中的 “密码 ”框中,输入帐户的密码,然后选择“ 确定”。
- 在“测试连接”对话框中,如果收到以下确认消息,请选择“确定:与服务器的连接已成功”。
- 选择下一步。
在“ 集合 ”页上,选择相应的集合,然后选择“ 下一步”。
在 “计划” 页上的 “同步 ”列表中,设置同步的频率和时间,然后选择“ 下一步”。
在“ 摘要 ”页上,确认所做的连接器设置,然后选择“ 创建”。
在 “确认 ”页上,确保收到以下确认消息: 已成功完成 System Center Configuration Manager 连接器向导。 然后选择“ 关闭”。
注意
System Center Configuration Manager 连接器向导可能需要几个小时才能从 Configuration Manager 导入数据。
验证 Configuration Manager 连接器的创建
- 确认所创建的 Configuration Manager 连接器已显示在“连接器” 窗格中。
- 在 Service Manager 控制台中,选择“ 配置项”。 在 “配置项目 ”窗格中,展开 “配置项目”,展开 “计算机”,然后选择“ 所有 Windows 计算机”。 验证预期计算机是否显示在 “所有 Windows 计算机 ”窗格中。
- 在中间窗格中,双击新导入的计算机。 验证计算机表单中是否显示了相应的计算机详细信息。
确认 Configuration Manager 连接器的状态
- 查看“连接器” 窗格中的列;这些列包含有关开始时间、完成时间、状态和完成百分比的信息。
可以使用 Windows PowerShell 命令创建新的 Configuration Manager 连接器。 有关如何使用 Windows PowerShell 在 Service Manager 中创建新的 Configuration Manager 连接器的信息,请参阅 New-SCCMConnector。
禁用和启用 Configuration Manager 连接器
可以使用以下过程来禁用或启用 Configuration Manager 连接器并验证更改的状态。
禁用 Configuration Manager 连接器
在 Service Manager 控制台中,选择“ 管理”。
在 “管理 ”窗格中,展开 “管理”,然后选择“ 连接器”。
在 “ 连接器”窗格中,选择要禁用的 Configuration Manager 连接器。 例如,选择 Configuration Manager 连接器到 SEA。
在 “任务 ”窗格中的连接器名称下,选择“ 禁用”。
注意
如果在同步数据时禁用连接器,同步过程可能不会停止。 但是,禁用的连接器不会从该点转发的 Configuration Manager 数据库导入任何新数据。
启用 Configuration Manager 连接器
- 在 Service Manager 控制台中,选择“ 管理”。
- 在 “管理 ”窗格中,展开 “管理”,然后选择“ 连接器”。
- 在 “ 连接器”窗格中,选择要启用的 Configuration Manager 连接器。 例如,选择 Configuration Manager 连接器到 SEA。
- 在 “任务 ”窗格中的连接器名称下,选择“ 启用”。
验证 Configuration Manager 连接器的状态更改
- 禁用或启用连接器后,请等待 30 秒。 然后,在 Service Manager 控制台中,选择“管理”,然后选择“连接器”。
- 在“连接器”窗格中,找到已更改状态的连接器,并在“已启用”列中验证值。
- 如果启用了连接器,请验证连接器是否按照计划继续同步。 如果禁用了连接器,请验证连接器是否不再按照计划进行同步。
可以使用 Windows PowerShell 命令完成这些任务和其他相关任务,如下所示:
- 有关如何使用 Windows PowerShell 启动 Service Manager 连接器的信息,请参阅 Start-SCSMConnector。
- 有关如何使用 Windows PowerShell 检索 Service Manager 中定义的连接器并查看其状态的信息,请参阅 Get-SCSMConnector。
- 有关如何使用 Windows PowerShell 更新 Service Manager 连接器的属性的信息,请参阅 Update-SCSMConnector。
同步 Configuration Manager 连接器
为了确保 Service Manager 数据库是最新的,System Center Configuration Manager 连接器会在初始同步后每天与 Configuration Manager 同步。 不过,可以使用以下过程手动同步连接器并验证连接器是否同步。
手动同步 Configuration Manager 连接器
在 Service Manager 控制台中,选择“ 管理”。
在 “管理 ”窗格中,展开 “管理”,然后选择“ 连接器”。
在 “ 连接器”窗格中,选择要同步的 Configuration Manager 连接器。
在 “任务 ”窗格中的连接器名称下,选择“ 立即同步”。
注意
根据所导入的数据量,您可能必须等待导入完成。
验证 Configuration Manager 连接器是否已同步
- 在 Service Manager 控制台中,选择“ 配置项”。
- 在 “配置项目 ”窗格中,展开 “计算机”,然后选择“ 所有 Windows 计算机”。 验证中间窗格中是否显示了 Configuration Manager 中的任何新计算机。
为扩展的 SMS_def.mof 文件配置 Configuration Manager 连接器
Service Manager 硬件清单收集并提供有关 Configuration Manager 层次结构中每台计算机的系统信息,例如可用的磁盘空间、处理器类型和操作系统。 在 Configuration Manager 中,用户可以自定义默认的 Configuration Manager SMS_def.mof 文件以扩展收集的硬件清单信息。
在 Service Manager 中创建 Configuration Manager 连接器时,可以选择必须用于该连接器的默认 System Center Configuration Manager 连接器配置管理包。 连接器使用默认管理包为系统中的计算机导入硬件、软件和所需配置管理信息。
如果扩展了 Configuration Manager SMS_def.mof 文件来收集也想导入到 Service Manager 中的附加硬件清单数据,则必须创建一个新的自定义管理包来定义该附加数据。 然后,必须创建新的 Configuration Manager 连接器并将其配置为使用新的自定义管理包。
从 Configuration Manager 导入扩展的硬件清单数据
若要从 Configuration Manager 导入扩展的硬件清单数据,必须创作自定义 Configuration Manager 连接器管理包。 实现自定义的 Configuration Manager 连接器的方法有以下两种:
创建一个定义想要导入的扩展数据的自定义 Configuration Manager 连接器管理包,然后创建两个连接器。 将一个连接器配置为在默认情况下使用默认的 System Center Configuration Manager 连接器配置管理包导入定义的数据。 将第二个连接器配置为使用自定义管理包导入附加的扩展数据。
自定义默认的 System Center Configuration Manager 连接器配置管理包以便也包括附加的扩展数据。 创建一个被配置为使用自定义管理包导入所有必备信息的连接器。
本文提供了必须实现前面所述的第一种方法的信息。 它还提供了一些必备的详细信息,以便你能够开发从 Configuration Manager 中导入扩展硬件清单的自定义 Configuration Manager 连接器管理包。
用于导入扩展硬件清单数据的高级步骤如下:
- 创建一个包含扩展数据定义的自定义 Configuration Manager 连接器配置管理包。
- 将自定义管理包导入到 Service Manager。 导入管理包之后,Service Manager 将处理管理包中的指令以创建临时表并运行管理包中定义的任何安装结构化查询语言 (SQL) 脚本。
- 创建 Configuration Manager 连接器并将其配置为使用自定义管理包。
- Configuration Manager 连接器将导入数据。
使用自定义 Configuration Manager 连接器管理包
使用自定义 Configuration Manager 连接器管理包时,请考虑以下提示:
管理包中连接器配置模板中的语义错误不会阻止导入管理包,并且它们将记录到事件日志中。 在此情况下,你必须删除管理包,更正错误并重新导入管理包。
创建 Configuration Manager 连接器后,无法修改其管理包选择。 而是必须删除该连接器,然后创建一个具有所需管理包选择的新连接器。
为了确保成功删除管理包,必须删除任何配置为使用要删除的管理包的连接器,然后删除该管理包。
删除自定义 Configuration Manager 连接器管理包时,Service Manager 会尝试删除管理包导入期间创建的所有相关暂存表。 然后,Service Manager 运行管理包的 “卸载 ”部分中定义的任何脚本。
与其他管理包不同,无法对自定义 Configuration Manager 连接器管理包进行版本控制。 导入管理包的更高版本将会成功。 但是,将忽略管理包中的连接器配置,否则它将导致记录到事件日志上的验证错误。
创建自定义 Configuration Manager 连接器配置管理包
自定义的 Configuration Manager 连接器配置管理包在结构上与默认的 Configuration Manager 连接器管理包相似。 它必须包含“DataProvider” 和“DataConsumer” 这两个对象模板,这两个模板指定应该如何导入和应用数据。
DataProvider 部分
DataProvider 部分提供了将数据从 Configuration Manager 导入到 LinkingFramework 的临时表中时必须具有的信息,例如要导入的数据。 DataProvider 部分包括在 Configuration Manager 站点数据库上运行的查询;用于暂存表创建的指令;自定义 SQL 脚本;以及与增量同步相关的信息,例如水印和批处理。
DataConsumer 部分
DataConsumer 部分提供有关从临时表读取数据并将其写入 ServiceManager 数据库的实例空间(如实体或关系)的信息。 DataConsumer 部分包括在临时表上运行的查询;映射到 Service Manager 类型系统;自定义 SQL 脚本;以及与增量同步相关的信息,例如水印和批处理。
DataProvider 和 DataConsumer 对象模板部分的结构
DataProvider 和 DataConsumer 本质上是针对投影类型的对象模板。 下列代码显示了 DataProvider 和 DataConsumer 部分的一般结构:
<TypeProjection ID="System.LinkingFramework.DataConnector.Projection" Accessibility="Public" Type="System.LinkingFramework.DataConnector">
<Component Alias="DataTable" Path="$Context/Path[Relationship='System.LinkingFramework.ConnectorEmbedsTables' TypeConstraint='System.LinkingFramework.DataTable']$">
<Component Alias="Field" Path="$Context/Path[Relationship='System.LinkingFramework.TableEmbedsFields']$" />
</Component>
<Component Alias="DataCollection" Path="$Context/Path[Relationship='System.LinkingFramework.ConnectorEmbedsCollections' TypeConstraint='System.LinkingFramework.DataCollection']$" />
</TypeProjection>
在这段代码中, DataTable、 Field和 DataCollection 的定义如下:
DataTable。 为数据传输定义的最小数据单位。 它是从外部数据源检索哪些数据的声明。 它还确定了不同数据表之间的依赖关系,以及数据批处理、水印制作和整理的完成时间。
Field。 数据表中的单一列。
DataCollection。 要在一个数据传输作业或会话中传输的一组数据表。 它定义了此数据收集中包括的数据表。
自定义管理包中的属性
下表提供了有关自定义 Configuration Manager 连接器配置管理包中的每个属性的详细信息。 在创建自定义管理包时请使用这些准则。
properties | 预期的 值 | 导入之后验证 |
---|---|---|
ID | 对于 DataProvider 和 DataConsumer 模板,如示例中所示 | 是 |
DataConnector 属性 | ||
DataConnectorName | 对于 DataProvider 和 DataConsumer 模板 - 与示例中的值相同 | 是 |
IsProvider | 在 DataProvider 模板中 - True 在 DataConsumer 模板中 - False |
是 |
SolutionName | 注释。 例如,它可能指明导入的数据的类型。 | 尝试导入已在其中使用解决方案名称的管理包;导致记录到事件日志中的错误。 |
Entrypoint、EntryAssembly 和 WinformUIAssembly | 与示例中的值完全相同 | |
InstallSQLScripts 部分 | 必须在设置临时表之后运行的 SQL 脚本。 它们通常用于 DataConsumer 模板,以配置显示临时表中数据的视图。 脚本></脚本>标记之间<包含的所有内容应为有效的 SQL 脚本。 因此,对于注释,必须使用 /* 多*/ 行注释分隔符而不是标准 XML 注释标记。 |
未验证。 使用自定义表格名称来确保这不会导致任何表被覆盖或更改,管理包中声明的表例外。 |
UnInstallSQLScripts 部分 | 在 Service Manager 控制台中删除 Configuration Manager 连接器管理包后必须运行的 SQL 脚本。 脚本></脚本>标记之间<包含的所有内容应为有效的 SQL 脚本。 因此,对于注释,必须使用 /* 多*/ 行注释分隔符而不是标准 XML 注释标记。 |
未验证。 使用自定义表格名称来确保这不会导致任何表被覆盖或更改,管理包中声明的表例外。 |
DisableParallelProcessing | True | |
DataTable 属性 | ||
DataName | 要从中导入数据的表。 它在用户界面(UI)中使用,在查询中不使用。 | |
StageTableName | 临时表的名称。 此名称必须是唯一的。 | 尝试导入已在其中使用表名称的管理包,导致记录到事件日志中的错误。 |
WatermarkField | rowversion 列的名称 | |
WatermarkType | 可能的值为: - 0-指示 DateTime 类型 - 1-指示 时间戳 类型 - (-1)-指示无水印,在这种情况下 ,WatermarkField 变为可选 |
不支持其他类型的水印。 |
BatchIdField | 具有良好选择性的列的名称,用于在导入到临时表中时将增量数据分隔成批 | |
BatchIdType | 可能的值为: - 0-Int - (-1)-无批处理,在这种情况下 ,BatchIdField 变为可选 |
整数列 |
BatchIdSize | 批的大小(如果使用批处理)。 高值表示很多数据同时被读取或写入。 推荐值为 500。 | 整数列 |
UseCache | True | |
GroomType | 可能的值为: - 1- 将数据传输到 Service Manager 数据库后,可以整理暂存表中的数据。 - 2- 暂存表中的数据仅在标记为在 Configuration Manager 数据库中删除并且由于 Service Manager 连接器同步而已在 Service Manager 数据库中删除后才进行整理。 |
|
QueryString | Configuration Manager 2007 用于检索请求的数据的实际查询。 查询必须采用以下格式:SELECT ... FROM ... WHERE ... ORDER BY ... WHERE 子句可以包含 $COLLECTIONLIST 令牌。 同步期间,此标记会被 System Center Configuration Manager 连接器向导中指定的集合取代。支持 Configuration Manager SCCM_Ext.* 视图公开的数据进行导入。 此数据可通过使用标准的 sms_def.mof 扩展或使用 noidmifs 来扩展。 不支持其他表。 值得注意的是,不支持子查询,但支持与其他表的联接。 |
未验证。 所有查询都有一个具有值的U D Lfx_Status列,或者指示该行是表示更新操作还是“删除”操作。 |
CollectionName | 一组数据表的名称;此名称必须唯一。 同一集合中的表不能相互依赖。 | 尝试导入已在其中使用集合名称的管理包,导致记录到事件日志中的错误。 |
PrimaryKeyName | 一个声明临时表的唯一主键名称的节。 | 尝试导入已在其中使用密钥名称的管理包,导致记录到事件日志中的错误。 |
DependOnDataTable | 必须首先在此数据表之前同步的 DataTable 的名称。 通常,这用于系统在“使用者”视图中读取临时表之前同步临时表。 如果使用多个集合,则仅应在不同集合中的表之间表示依赖项。 |
未验证 |
DataField 属性 | ||
Name、Type、AllowNull | 这些是任何列类型的必填字段。 支持的类型为 int、 nvarchar、 datetime 和 xml。 | 未验证 |
PrimaryKeyACs、PrimaryKeyPosition | 如果主键的一部分指示主键中左侧的位置。 Lfx 会在 PK 末尾添加两个内部使用的列(Lfx_Status 和 Lfx_SourceId)。 | |
排序规则 | COLLATE | 未验证 |
DataCollection 属性 | ||
DataCollectionName | 必须与 DataTable 属性引用的内容完全一样 | 尝试导入已在其中使用集合名称的管理包,导致记录到事件日志中的错误。 |
StagingName | 在 DataProvider template-DefaultCache 中 在 DataConsumer 模板中-不存在 |
未验证 |
DataTables | 引用该集合的逗号分隔值 (CSV) 表列表 | |
设置 | 在 DataProvider 模板中-不存在 在 DataConsumer 模板中-指示类型映射 |
具有以下语法的转义的 XML:<TypeName>Microsoft.Windows.Computer</TypeName> <MPName>Microsoft.Windows.Library</MPName> <MPVersion>version of MP</MPVersion> <MPToken>token for MP</MPToken> |
自定义 Configuration Manager 连接器配置管理包示例
以下是从 Configuration Manager SCCM_Ext.vex_GS_PC_BIOS 视图导入数据的架构定义和 Configuration Manager 连接器管理包示例。
有关这些管理包的属性的详细信息,请参阅本文前面的表。 使用 XML 编辑器(如 Microsoft Visual Studio 中的编辑器)修改这些示例,以适合您的导入方案。
从托管类导入数据
指定托管的类时,DataConsumer 模板中的视图应包含父类的键属性的列。 在本示例中,计算机承载了包含 BIOS 信息的类。
在本示例中,Configuration Manager 连接器配置管理包在 DataProvider 和 DataConsumer 部分中具有两个集合,一个用于导入计算机数据,另一个用于导入 BIOS 数据。
类定义
<ManagementPack xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ContentReadable="true" SchemaVersion="1.1" OriginalSchemaVersion="1.1">
<Manifest>
<Identity>
<ID>SampleBIOSMP</ID>
<Version>1.0.0.0</Version>
</Identity>
<Name>BIOS Class MP</Name>
<References>
<Reference Alias="System">
<ID>System.Library</ID>
<Version>7.0.5229.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="Windows">
<ID>Microsoft.Windows.Library</ID>
<Version>7.0.5229.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
</References>
</Manifest>
<TypeDefinitions>
<EntityTypes>
<ClassTypes>
<ClassType ID="HostedCustomClass" Accessibility="Public" Base="System!System.ConfigItem" Hosted="true" Abstract="false">
<Property ID="SerialNumber" Type="string" Key="true"/>
</ClassType>
</ClassTypes>
<RelationshipTypes>
<RelationshipType ID="Microsoft.Windows.ComputerHostsBIOS" Accessibility="Public" Base="System!System.Hosting">
<Source ID="Computer" Type="Windows!Microsoft.Windows.Computer" />
<Target ID="BIOSClass" Type="HostedCustomClass" />
</RelationshipType>
</RelationshipTypes>
</EntityTypes>
</TypeDefinitions>
</ManagementPack>
Configuration Manager 连接器配置管理包
<ManagementPack xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ContentReadable="true" SchemaVersion="1.1" OriginalSchemaVersion="1.1">
<Manifest>
<Identity>
<ID>CnfgMgrBiosSample</ID>
<Version>7.0.5229.0</Version>
</Identity>
<Name>CnfgMgrBiosSample</Name>
<References>
<Reference Alias="System">
<ID>System.Library</ID>
<Version>7.0.5229.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="LFX">
<ID>ServiceManager.LinkingFramework.Library</ID>
<Version>7.0.5229.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
</References>
</Manifest>
<Templates>
<ObjectTemplate ID="DataProvider.Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms" TypeID="LFX!System.LinkingFramework.DataConnector.Projection">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/DataConnectorName$">
Microsoft_EnterpriseManagement_ServiceManager_Connector_Sms
</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/IsProvider$">
True
</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/SolutionName$">SampleBIOS</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/EntryPoint$">
Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms.SmsConnector
</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/EntryAssembly$">
Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms,
Version="7.0.5000.0",
Culture=neutral,
PublicKeyToken="31bf3856ad364e35"
</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/WinFormUIAssembly$">
Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms.SmsConnector,
Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms, Version="7.0.5000.0", Culture=neutral,
PublicKeyToken="31bf3856ad364e35"
</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/InstallSQLScripts$"></Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/DisableParallelProcess$">
True
</Property>
<Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsTables' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataTable']$">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DataName$">SCCM_Ext.Sample_vex_R_System</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/StageTableName$">Sample_SMS_vex_R_System</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkField$">S.[rowversion]</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkType$">1</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdField$">S.[ResourceID]</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdType$">0</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdSize$">2000</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/UseCache$">true</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/GroomType$">2</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/QueryString$"><![CDATA[
SELECT S.ResourceID,
S.ChangeAction as Lfx_Status,
S.Netbios_Name0,
S.Resource_Domain_OR_Workgr0
FROM SCCM_Ext.vex_R_System S
INNER JOIN SCCM_Ext.vex_FullCollectionMembership CM
ON S.ResourceID = CM.ResourceID
INNER JOIN SCCM_Ext.vex_Collection C
ON C.CollectionID = CM.CollectionID
WHERE ((S.ChangeAction = 'U' AND S.Client_Type0 != 3 AND S.Hardware_ID0 IS NOT NULL)
OR S.ChangeAction = 'D')
AND $COLLECTIONLIST
ORDER BY S.rowversion
]]>
</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/CollectionName$">BIOSComputers</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/PrimaryKeyName$">[Sample_SMS_PK_v_R_SYSTEM]</Property>
<Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">[ResourceID]</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">false</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyPosition$">0</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyAcs$">true</Property>
</Object>
<Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">Netbios_Name0</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">NVarChar</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Size$">64</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Collation$">DATABASE_DEFAULT</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">true</Property>
</Object>
<Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">Resource_Domain_OR_Workgr0</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">NVarChar</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Size$">255</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Collation$">DATABASE_DEFAULT</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">true</Property>
</Object>
</Object>
<Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsTables' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataTable']$">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DataName$">SCCM_Ext.Sample_vex_GS_COMPUTER_SYSTEM</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/StageTableName$">Sample_SMS_vex_GS_COMPUTER_SYSTEM</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkField$">CS.[rowversion]</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkType$">1</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdField$">CS.[ResourceID]</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdType$">0</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdSize$">2000</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/UseCache$">true</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/GroomType$">2</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/QueryString$"><![CDATA[
SELECT CS.ResourceID,
CS.GroupKey,
CS.ChangeAction as Lfx_Status,
CS.Name0,
CS.Domain0
FROM SCCM_Ext.vex_GS_COMPUTER_SYSTEM CS
INNER JOIN SCCM_Ext.vex_FullCollectionMembership CM
ON CS.ResourceID = CM.ResourceID
INNER JOIN SCCM_Ext.vex_Collection C
ON C.CollectionID = CM.CollectionID
WHERE $COLLECTIONLIST
ORDER BY CS.rowversion
]]>
</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/CollectionName$">BIOSComputers</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/PrimaryKeyName$">[Sample_SMS_PK_v_GS_COMPUTER_SYSTEM]</Property>
<Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">[ResourceID]</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">false</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyPosition$">0</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyAcs$">true</Property>
</Object>
<Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">[GroupKey]</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">false</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyPosition$">1</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyAcs$">true</Property>
</Object>
<Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">[Name0]</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">NVarChar</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Size$">64</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Collation$">DATABASE_DEFAULT</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">true</Property>
</Object>
<Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">[Domain0]</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">NVarChar</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Size$">32</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Collation$">DATABASE_DEFAULT</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">true</Property>
</Object>
</Object>
<Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsTables' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataTable']$">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DataName$">SCCM_Ext.vex_GS_PC_BIOS</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/StageTableName$">Sample_SMS_vex_GS_PC_BIOS</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkField$">S.[rowversion]</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkType$">1</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdField$">S.[ResourceID]</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdType$">0</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdSize$">2000</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/UseCache$">true</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/GroomType$">2</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/QueryString$"><![CDATA[
SELECT S.ChangeAction as Lfx_Status,
S.ResourceID,
S.BatchingKey,
S.GroupKey,
S.SerialNumber0
FROM SCCM_Ext.vex_GS_PC_BIOS S
INNER JOIN SCCM_Ext.vex_FullCollectionMembership CM
ON S.ResourceID = CM.ResourceID
INNER JOIN SCCM_Ext.vex_Collection C
ON C.CollectionID = CM.CollectionID
WHERE C.ChangeAction = 'U' AND CM.ChangeAction = 'U' AND $COLLECTIONLIST
ORDER BY S.rowversion
]]>
</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/CollectionName$">Sample_SMS_PROVIDER_BIOS_COLLECTION</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/PrimaryKeyName$">[Sample_SMS_PK_v_GS_BIOS1]</Property>
<Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">[ResourceID]</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">false</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyPosition$">0</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyAcs$">true</Property>
</Object>
<Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">BatchingKey</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">false</Property>
</Object>
<Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">GroupKey</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">true</Property>
</Object>
<Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">SerialNumber0</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">NVarChar</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Size$">34</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Collation$">DATABASE_DEFAULT</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">true</Property>
</Object>
</Object>
<Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsCollections' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataCollection']$">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataCollectionName$">BIOSComputers</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/StagingName$">DefaultCache</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataTables$">SCCM_Ext.Sample_vex_R_System,SCCM_Ext.Sample_vex_GS_COMPUTER_SYSTEM</Property>
</Object>
<Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsCollections' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataCollection']$">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataCollectionName$">Sample_SMS_PROVIDER_BIOS_COLLECTION</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/StagingName$">DefaultCache</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataTables$">SCCM_Ext.vex_GS_PC_BIOS</Property>
</Object>
</ObjectTemplate>
<ObjectTemplate ID="DataConsumer.Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms" TypeID="LFX!System.LinkingFramework.DataConnector.Projection">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/DataConnectorName$">
MomStore
</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/IsProvider$">
False
</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/SolutionName$">SampleBIOS</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/EntryPoint$">
Microsoft.EnterpriseManagement.ServiceManager.Linking.Consumer.OperationalStore.OperationalStoreConsumer
</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/EntryAssembly$">
Microsoft.EnterpriseManagement.ServiceManager.Linking.Consumer.OperationalStore,
Version="7.0.5000.0",
Culture=neutral,
PublicKeyToken="31bf3856ad364e35"
</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/InstallSQLScripts$"><![CDATA[
<Script>
if not object_id('[LFXSTG].[v_Sample_SMS_BIOSComputer]') is null
drop view [LFXSTG].[v_Sample_SMS_BIOSComputer];
exec ('
CREATE VIEW [LFXSTG].[v_Sample_SMS_BIOSComputer] AS
SELECT S.Lfx_RowId,
S.Lfx_SourceID,
S.Lfx_Timestamp,
S.Lfx_Status,
CS.Name0 AS ''DisplayName'',
COALESCE(CS.Name0, S.Netbios_Name0)
+ ''.'' + COALESCE(CS.Domain0, S.Resource_Domain_OR_Workgr0) AS ''PrincipalName''
FROM LFXSTG.Sample_SMS_vex_R_System S
INNER JOIN LFXSTG.Sample_SMS_vex_GS_COMPUTER_SYSTEM CS
ON S.ResourceID = CS.ResourceID AND S.Lfx_SourceId = CS.Lfx_SourceId
WHERE S.Netbios_Name0 IS NOT NULL
AND S.Resource_Domain_OR_Workgr0 IS NOT NULL
');
</Script>
<Script>
if not object_id('[LFXSTG].[v_Sample_BIOS]') is null
drop view [LFXSTG].[v_Sample_BIOS]
exec ('
CREATE VIEW [LFXSTG].[v_Sample_BIOS] AS
SELECT P.Lfx_RowId AS Lfx_RowId,
P.Lfx_SourceId,
P.Lfx_Timestamp AS Lfx_Timestamp,
P.Lfx_Status as Lfx_Status,
P.SerialNumber0 AS ''SerialNumber'',
COALESCE(CS.Name0, S.Netbios_Name0) + ''.'' + COALESCE(CS.Domain0, S.Resource_Domain_OR_Workgr0) AS ''PrincipalName''
FROM [LFXSTG].Sample_SMS_vex_GS_PC_BIOS P
INNER JOIN [LFXSTG]. Sample_SMS_vex_R_System S
ON P.ResourceID=S.ResourceID AND P.Lfx_SourceId = S.Lfx_SourceId
INNER JOIN [LFXSTG]. Sample_SMS_vex_GS_COMPUTER_SYSTEM CS
ON S.ResourceID=CS.ResourceID
AND S.Lfx_SourceId = CS.Lfx_SourceId
')
</Script>
]]>
</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/UninstallSQLScripts$"><![CDATA[
<Script>
if not object_id('[LFXSTG].[v_Sample_SMS_BIOSComputer]') is null
drop view [LFXSTG].[v_Sample_SMS_BIOSComputer];
</Script>
<Script>
if not object_id('[LFXSTG].[v_Sample_BIOS]') IS NULL
drop view [LFXSTG].[v_Sample_BIOS];
</Script>
]]>
</Property>
<Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsTables' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataTable']$">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DataName$">Sample_SMS_Computer</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkField$">E.Lfx_Timestamp</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkType$">0</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdField$">E.Lfx_RowId</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdType$">0</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdSize$">500</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/UseCache$">false</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/QueryString$"><![CDATA[
SELECT * FROM [LFXSTG].v_Sample_SMS_BIOSComputer E
]]>
</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/CollectionName$">Sample_SMS_Computers_COLLECTION</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DependOnDataTable$">SCCM_Ext.Sample_vex_GS_COMPUTER_SYSTEM,SCCM_Ext.Sample_vex_R_System</Property>
</Object>
<Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsTables' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataTable']$">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DataName$">Sample_SMS_BIOS_CONSUMER_VIEW</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkField$">C.Lfx_Timestamp</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkType$">0</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdField$">C.Lfx_RowId</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdType$">0</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdSize$">500</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/UseCache$">False</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/QueryString$"><![CDATA[
select C.* from [LFXSTG].v_Sample_BIOS C
]]>
</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/CollectionName$">Sample_SMS_BIOS_CONSUMER_COLLECTION</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DependOnDataTable$">SCCM_Ext.vex_GS_PC_BIOS, Sample_SMS_Computer</Property>
</Object>
<Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsCollections' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataCollection']$">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataCollectionName$">Sample_SMS_Computers_COLLECTION</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataTables$">Sample_SMS_Computer</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/Settings$"><![CDATA[
<TypeName xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">Microsoft.Windows.Computer</TypeName>
<MPName xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">Microsoft.Windows.Library</MPName>
<MPVersion xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">7.0.5229.0</MPVersion>
<MPToken xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">31bf3856ad364e35</MPToken>
]]>
</Property>
</Object>
<Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsCollections' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataCollection']$">
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataCollectionName$">Sample_SMS_BIOS_CONSUMER_COLLECTION</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataTables$">Sample_SMS_BIOS_CONSUMER_VIEW</Property>
<Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/Settings$"><![CDATA[
<TypeName xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">HostedCustomClass</TypeName>
<MPName xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">SampleBIOSMP</MPName>
<MPVersion xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">1.0.0.0</MPVersion>
]]>
</Property>
</Object>
</ObjectTemplate>
</Templates>
</ManagementPack>
后续步骤
- 了解如何 从 Orchestrator 导入 Runbook。