Partilhar via


Importar dados do Configuration Manager para o Service Manager

Importante

Esta versão do Service Manager chegou ao fim do suporte. Recomendamos que atualize para o Service Manager 2022.

Este artigo descreve como criar, configurar, desativar e ativar um conector do Configuration Manager e como personalizar o ficheiro expandido SMS_def.mof do Configuration Manager para recolher informações de hardware. Utilize o conector para importar dados do Configuration Manager para o Service Manager.

O conector para o Configuration Manager reconhece a Afinidade Dispositivo/Utilizador e Dispositivos Móveis e sincroniza-os na base de dados do Service Manager.

Pode importar dados a partir da base de dados do site do Configuration Manager para a base de dados do Service Manager. Este procedimento cria e povoa automaticamente itens de configuração para o hardware e software que pretende gerir no Service Manager. Depois de importar dados do Configuration Manager, pode anexar os itens de configuração respetivos aos incidentes relevantes e as informações nos itens de configuração ficarão disponíveis para os analistas que trabalham no incidente.

Através de um conector do Configuration Manager, pode importar linhas de base de configuração do Configuration Manager e, em seguida, utilizar estas linhas de base de configuração para gerar incidentes automaticamente para itens de configuração incompatíveis.

Para obter informações sobre a implementação de alteração e configuração do Microsoft Operations Framework (MOF), veja Position of the Change and Configuration SMF Within the MOF IT Service Lifecycle (Posição do SMF de Alteração e Configuração Dentro do Ciclo de Vida do Serviço de TI do MOF).

Concluir o processo de registo do armazém de dados

Antes de criar o conector Configuration Manager, tem de se certificar de que o processo de Registo de Data Warehouse está concluído.

Dados adicionais no Configuration Manager

No Configuration Manager, os dados adicionais incluem Afinidade Dispositivo/Utilizador (UDA), Dados de Dispositivo Móvel e Dados de Pedido de Software. Os dados UDA do Configuration Manager determinam de forma mais exata quem é o utilizador primário de um computador ou dispositivo. Os dados UDA recolhidos pelo conector do Configuration Manager no Service Manager devem ser utilizados para povoar as informações UsesComputer e PrimaryUser na base de dados do Service Manager.

O conector do Configuration Manager no Service Manager irá recolher dados de dispositivos móveis para Windows Phones, Windows Mobile Phones e dispositivos Nokia. Os dados de outros dispositivos móveis, como iPhone, BlackBerry e telemóveis baseados em Android, serão recolhidos quando estiver a utilizar o conector Configuration Manager Exchange Server. Os dados de dispositivos móveis serão importados para a base de dados do Service Manager como itens de configuração e podem ser associados a itens de trabalho, gestão de incidentes e gestão de alterações.

Os dados de pedido de software serão utilizados em apoio da integração de pedido de software personalizado com o Configuration Manager. Os dados da categoria administrativa do Configuration Manager serão utilizados para selecionar que modelos de Pedido de Serviço devem ser aplicados ao criar um pedido a partir do Portal Self-Service.

Agenda

Pode configurar o conector do Configuration Manager para atualizar a base de dados do Service Manager numa agenda periódica. Também pode suspender temporariamente a importação de dados do Configuration Manager, desativando o conector. Por exemplo, pode desativar o conector quando a manutenção é efetuada na base de dados do site do Configuration Manager, porque sabe que o processo de manutenção cria temporariamente dados incorretos. Quando for adequado, pode reativar o conector e retomar a importação dos dados.

Inventário de hardware expandido no Configuration Manager

No Configuration Manager, pode expandir o inventário de hardware recolhendo um inventário de classes Windows Management Instrumentation (WMI) adicionais, atributos de classes WMI adicionais, chaves de registo e outras personalizações para se adaptar aos requisitos da organização. Para obter mais informações sobre como expandir o inventário de hardware no Configuration Manager, veja Como Expandir o Inventário de Hardware.

Se expandiu o inventário de hardware no Configuration Manager, tem de criar um novo pacote de gestão do conector Configuration Manager no Service Manager para recolher o inventário de hardware expandido. Este novo pacote de gestão pode conter apenas as informações necessárias para recolher o inventário de hardware expandido do Configuration Manager ou pode incluir tudo, desde o pacote de gestão do Conector do Configuration Manager original ao novo inventário de hardware expandido. Para obter informações sobre como criar um novo pacote de gestão de conectores, veja Como Configurar um Conector de Configuration Manager para um Ficheiro extended SMS_def.mof.

Importar itens de configuração de software

Pode importar itens de configuração de software com o Conector Configuration Manager ao importar as seguintes classes de relatórios de informações de recursos no Configuration Manager. Estas classes devem ser ativadas no Configuration Manager antes de configurar o conector do Configuration Manager no Service Manager. Para obter mais informações sobre como ativar o Asset Intelligence no Configuration Manager, veja Como Ativar o Asset Intelligence.

  • SMS_InstalledSoftware

  • SMS_SystemConsoleUsage

  • SMS_SystemConsoleUser

  • SoftwareLicensingService

  • SoftwareLicensingProduct

Se o software de um computador específico não aparecer na vista Todos os Softwares na área de trabalho Itens de Configuração, deve rever o registo de eventos do Operations Manager no servidor de gestão principal Service Manager. Deve procurar eventos com origens correspondentes ao Conector do OpsMgr e Lfx Service para determinar se existem erros.

Criar um conector do Configuration Manager

Pode utilizar os seguintes procedimentos para criar um conector para importar dados de Configuration Manager para o System Center - Service Manager e confirmar o estado do conector.

Importante

Antes de poder criar o conector Configuration Manager, tem de verificar se Configuration Manager está instalado no seu ambiente e que tem de ativar o Controlo de Conta de Utilizador (UAC) do Windows. Para obter mais informações sobre o UAC, veja Controlo de Conta de Utilizador.

Para criar um conector do Gestor de Configuração

  1. Na consola Service Manager, selecione Administração.
  2. No painel Administração , expanda Administração e selecione Conectores.
  3. No painel Tarefas, em Conectores, selecione Criar Conector e selecione Configuration Manager Conector. É aberto o Assistente de Conector do Configuration Manager.
  4. Na página Antes de Começar , selecione Seguinte.
  5. Na página Geral, efetue o seguinte:
    1. Na caixa Nome , introduza um nome para o novo conector. Por exemplo, introduza Configuration Manager Conector para Seattle.
    2. Na caixa Descrição , introduza uma descrição para o novo conector. Por exemplo, introduza Um conector de Configuration Manager ao site Seattle.
    3. Certifique-se de que a caixa de verificação Ativada está selecionada e selecione Seguinte.
  1. Na página Selecionar Pacote de Gestão, na lista Pacote de Gestão, selecione Configuração do Conector do System Center Configuration Manager ou System Center Configuration Manager Configuração do Conector 2012 e selecione Seguinte.
  1. Na página Selecionar Pacote de Gestão, na lista Pacote de Gestão, selecione System Center Configuration Manager Configuração do Conector e selecione Seguinte.
  1. Na página Ligar à Base de Dados do System Center Configuration Manager, efectue o seguinte:

    1. Na caixa Nome do Servidor de Base de Dados, introduza o nome do servidor que está a alojar a base de dados do site Configuration Manager e a instância com nome da base de dados, se aplicável. Por exemplo, no hipotético Banco Woodgrove, pode introduzir woodgrove\instance1 se a base de dados Configuration Manager estiver numa instância nomeada do Microsoft SQL Server ou introduzir woodgrove se a base de dados estiver numa instância predefinida do SQL Server.
    2. Na caixa Nome da Base de Dados, introduza o nome da base de dados do site Configuration Manager. Por exemplo, introduza SMS_CM1.
    3. Na área Credenciais , selecione uma conta Run As ou crie uma nova conta Run As. A conta de utilizador que especificar como conta Executar Como deve ser um membro dos grupos smsdbrole_extract e db_datareader da base de dados do site do Gestor de Configuração.
    4. Na área Credenciais , selecione Testar Ligação.
    5. Na caixa de diálogo Credenciais , na caixa Palavra-passe , introduza a palavra-passe da conta e selecione OK.
    6. Na caixa de diálogo Testar Ligação , se receber a seguinte mensagem de confirmação, selecione OK: A ligação ao servidor foi bem-sucedida.
    7. Selecione Seguinte.
  2. Na página Coleções , selecione a coleção adequada e, em seguida, selecione Seguinte.

  3. Na página Agenda , na lista Sincronizar , defina a frequência e a hora da sincronização e selecione Seguinte.

  4. Na página Resumo , confirme as definições do conector que efetuou e selecione Criar.

  5. Na página Confirmação, certifique-se de que recebe a seguinte mensagem de confirmação: concluiu com êxito o Assistente do System Center Configuration Manager Connector. Em seguida, selecione Fechar.

    Nota

    O Assistente de Conectores de Configuration Manager do System Center pode demorar várias horas a importar dados de Configuration Manager.

Para validar a criação de um conector do Gestor de Configuração

  1. Certifique-se de que o conector do Gestor de Configuração que criou é apresentado no painel Conectores.
  2. Na consola Service Manager, selecione Itens de Configuração. No painel Itens de Configuração , expanda Itens de Configuração, expanda Computadores e selecione Todos os Computadores Windows. Verifique se os computadores pretendidos aparecem no painel Todos os Computadores Windows .
  3. No painel do meio, faça duplo clique num computador importado recentemente. Certifique-se de que os detalhes apropriados do computador aparecem no formulário do computador.

Para confirmar o estado de um conector do Gestor de Configuração

  • Ver as colunas no painel Conector ; as colunas contêm informações sobre a hora de início, a hora de conclusão, o estado e a percentagem de conclusão.

Símbolo do PowerShellPode utilizar um comando Windows PowerShell para criar um novo conector de Configuration Manager. Para obter informações sobre como utilizar Windows PowerShell para criar um novo conector de Configuration Manager no Service Manager, consulte New-SCCMConnector.

Desativar e ativar um conector de Configuration Manager

Pode utilizar os seguintes procedimentos para desativar ou ativar um conector Configuration Manager e validar o estado da alteração.

Para desactivar um conector do Gestor de Configuração

  1. Na consola Service Manager, selecione Administração.

  2. No painel Administração , expanda Administração e selecione Conectores.

  3. No painel Conectores, selecione o conector Configuration Manager que pretende desativar. Por exemplo, selecione Configuration Manager conector para SEA.

  4. No painel Tarefas , no nome do conector, selecione Desativar.

    Nota

    Se desativar um conector durante a sincronização de dados, o processo de sincronização poderá não parar. No entanto, um conector desativado não importará novos dados de uma base de dados Configuration Manager a partir desse ponto.

Para activar um conector do Gestor de Configuração

  1. Na consola do Service Manager, selecione Administração.
  2. No painel Administração , expanda Administração e selecione Conectores.
  3. No painel Conectores, selecione o conector Configuration Manager que pretende ativar. Por exemplo, selecione Configuration Manager conector para SEA.
  4. No painel Tarefas , no nome do conector, selecione Ativar.

Para validar a alteração de estado de um conector do Gestor de Configuração

  1. Depois de desativar ou ativar o conector, aguarde 30 segundos. Em seguida, na consola do Service Manager, selecione Administração e selecione Conectores.
  2. No painel Conectores , localize o conector para o qual alterou o estado e verifique o valor na coluna Ativado .
  3. Se tiver activado o conector, certifique-se de que o conector retoma a sincronização de acordo com a agenda. Se tiver desactivado o conector, certifique-se de que o conector interrompeu a sincronização de acordo com a agenda.

Captura de ecrã do símbolo do PowerShell.Pode utilizar Windows PowerShell comandos para concluir estas tarefas e outras tarefas relacionadas, da seguinte forma:

  • Para obter informações sobre como utilizar Windows PowerShell para iniciar um conector de Service Manager, consulte Start-SCSMConnector.
  • Para obter informações sobre como utilizar Windows PowerShell para obter conectores definidos no Service Manager e ver o respetivo estado, consulte Get-SCSMConnector.
  • Para obter informações sobre como utilizar Windows PowerShell para atualizar as propriedades de um conector Service Manager, consulte Update-SCSMConnector.

Sincronizar um conector do Configuration Manager

Para garantir que a base de dados Service Manager está atualizada, o conector do System Center Configuration Manager sincroniza com Configuration Manager todos os dias após a sincronização inicial. No entanto, pode utilizar os seguintes procedimentos para sincronizar o conector manualmente e validar que se sincronizou.

Para sincronizar manualmente um conector do Gestor de Configuração

  1. Na consola do Service Manager, selecione Administração.

  2. No painel Administração , expanda Administração e selecione Conectores.

  3. No painel Conectores, selecione o conector Configuration Manager que pretende sincronizar.

  4. No painel Tarefas , no nome do conector, selecione Sincronizar Agora.

    Nota

    Dependendo da quantidade de dados que são importados, pode ter de aguardar até que a importação seja concluída.

Para validar um conector do Gestor de Configuração sincronizado

  1. Na consola do Service Manager, selecione Itens de Configuração.
  2. No painel Itens de Configuração , expanda Computadores e selecione Todos os Computadores Windows. Certifique-se de que todos os computadores novos do Configuration Manager aparecem no painel do meio.

Configurar um conector de Configuration Manager para um ficheiro SMS_def.mof expandido

Service Manager inventário de hardware recolhe e, em seguida, fornece informações do sistema, tais como espaço disponível em disco, tipo de processador e sistema operativo, sobre cada computador na hierarquia de Configuration Manager. No Configuration Manager, os utilizadores podem personalizar o ficheiro predefinido SMS_def.mof do Configuration Manager para alargar as informações de inventário de hardware que são recolhidas.

Quando cria um conector do Configuration Manager no Service Manager, pode selecionar o pacote de gestão de Configuração do Conector do System Center Configuration Manager predefinido que tem de ser utilizado para esse conector. Utilizando o pacote de gestão predefinido, o conector importa hardware, software e informações de gestão de configuração pretendidas para os computadores que estão no sistema.

Se o ficheiro SMS_def.mof do Configuration Manager tiver sido expandido para recolher dados de inventário de hardware adicionais, que também pretenda importar para o Service Manager, tem de criar um novo pacote de gestão personalizado que defina esses dados adicionais. Em seguida, tem de criar um novo conector Configuration Manager e configurá-lo para utilizar o novo pacote de gestão personalizado.

Importar dados de inventário de hardware expandidos do Configuration Manager

Para importar dados de inventário de hardware expandidos de Configuration Manager, tem de criar um pacote de gestão de conectores de Configuration Manager personalizado. Existem duas abordagens à implementação de um conector do Configuration Manager personalizado:

  • Crie um pacote de gestão do conector do Configuration Manager personalizado que defina os dados expandidos que pretende importar e, em seguida, crie dois conectores. Configure um conector para utilizar o pacote de gestão de Configuração do Conector do System Center Configuration Manager predefinido para importar os dados que estão predefinidos. Configure o segundo conector para utilizar o pacote de gestão personalizado para importar os dados expandidos adicionais.

  • Personalize o pacote de gestão de Configuração do Conector do System Center Configuration Manager predefinido para incluir também os dados expandidos adicionais. Crie um único conector que seja configurado para utilizar o pacote de gestão personalizado para importar todas as informações de que necessita.

Este artigo fornece as informações que tem de ter para implementar a primeira abordagem descrita anteriormente. Fornece os detalhes de que necessita para poder desenvolver um pacote de gestão do conector do Configuration Manager personalizado que importe o inventário de hardware expandido a partir do Configuration Manager.

Os passos de nível superior para importar os dados de inventário de hardware expandidos são os seguintes:

  1. Crie um pacote de gestão de Configuração do Conector do Configuration Manager personalizado com as definições para os dados expandidos.
  2. Importe o pacote de gestão personalizado para o Service Manager. Depois de importar o pacote de gestão, o Service Manager processa as diretivas do pacote de gestão para criar tabelas de testes e para executar quaisquer scripts de instalação de SQL (Structured Query Language), conforme definido no pacote de gestão.
  3. Crie um conector do Configuration Manager e configure-o para utilizar o pacote de gestão personalizado.
  4. O conector do Configuration Manager importa os dados.

Trabalhar com um pacote de gestão personalizado Configuration Manager Connector

Considere as seguintes sugestões quando estiver a trabalhar com um pacote de gestão do Conector do Configurations Manager personalizado:

  • Os erros semânticos nos modelos de configuração do conector no pacote de gestão não impedem a importação do pacote de gestão e são registados no registo de eventos. Neste caso, tem de eliminar o pacote de gestão, corrigir os erros e importar novamente o pacote de gestão.

  • Depois de criar um conector Configuration Manager, não pode modificar a seleção do pacote de gestão. Em vez disso, terá de eliminar esse conector e, em seguida, criar um novo conector com a seleção do pacote de gestão pretendida.

  • Para garantir que um pacote de gestão é eliminado com êxito, tem de eliminar quaisquer conectores que estejam configurados para utilizar o pacote de gestão que pretende eliminar e, em seguida, eliminar o pacote de gestão.

    Quando elimina um pacote de gestão do Conector do Configurations Manager personalizado, Service Manager tenta eliminar todas as tabelas de teste relacionadas que foram criadas durante a importação do pacote de gestão. Em seguida, Service Manager executa todos os scripts definidos na secção Desinstalar do pacote de gestão.

  • Ao contrário de outros pacotes de gestão, o pacote de gestão personalizado Configuration Manager Connector não pode ter um controlo de versão. A importação de uma versão posterior do pacote de gestão terá êxito. No entanto, a configuração do conector no pacote de gestão será ignorada ou poderá causar erros de validação registados no registo de eventos.

Criar um pacote de gestão de Configuração do Conector de Configuration Manager personalizado

Um pacote de gestão de Configuração do Conector do Configuration Manager personalizado é semelhante em termos de estrutura ao pacote de gestão do Conector do Configuration Manager predefinido. Tem de conter os dois modelos de objeto DataProvider e DataConsumer que especificam como os dados devem ser importados e aplicados.

Secção DataProvider

A secção DataProvider fornece informações, como os dados a importar, que tem de ter ao importar dados de Configuration Manager para as tabelas de teste de LinkingFramework. A secção DataProvider inclui as consultas que são executadas na base de dados do site Configuration Manager; diretivas para a criação de tabelas de teste, scripts SQL personalizados e informações relevantes para a sincronização incremental, como a marca d'água e a criação de batches.

Secção DataConsumer

A secção DataConsumer fornece informações sobre como ler os dados de tabelas de teste e escrevê-lo no espaço de instâncias da base de dados do ServiceManager , como Entidades ou Relações. A secção DataConsumer inclui consultas que são executadas nas tabelas de teste; mapeamento para o sistema de tipo Service Manager, scripts SQL personalizados e informações relevantes para a sincronização incremental, como marca d'água e criação de batches.

Estrutura das secções de modelos de objeto DataProvider e DataConsumer

Basicamente, o DataProvider e o DataConsumer são modelos de objeto direcionados para um tipo de projeção. O código seguinte mostra a estrutura geral das secções DataProvider e 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>

Neste código, DataTable, Field e DataCollection são definidos da seguinte forma:

  • DataTable. A unidade de dados mais pequena definida para a transferência de dados. É uma declaração dos dados a obter a partir da origem de dados externa. Também define dependências entre tabelas de dados diferentes e quando terminam a criação de batches, as marcas de água e o tratamento.

  • Campo. Uma única coluna numa tabela de dados.

  • DataCollection. Um conjunto de tabelas de dados a transferir numa tarefa ou sessão de transferência de dados. Define que tabelas de dados estão incluídas nesta recolha de dados.

Propriedades no pacote de gestão personalizado

A tabela seguinte fornece os detalhes sobre cada propriedade no pacote de gestão de Configuração do Conector do Configuration Manager personalizado. Utilize estas diretrizes quando criar o pacote de gestão personalizado.

Propriedade Valor esperado Validação após a importação
ID Para modelos DataProvider e DataConsumer , conforme indicado no exemplo Yes
Propriedades do DataConnector
DataConnectorName Para modelos DataProvider e DataConsumer – idênticos aos valores no exemplo Yes
IsProvider No modelo DataProvider – Verdadeiro

No modelo DataConsumer – Falso
Yes
SolutionName Um comentário. Por exemplo, pode indicar o tipo de dados importados. Uma tentativa de importar um pacote de gestão no qual o nome da solução já está a ser utilizado; causa um erro que é registado no registo de eventos.
Entrypoint, EntryAssembly & WinformUIAssembly Idênticos ao valor do exemplo
Secção InstallSQLScripts Scripts de SQL que têm de ser executados depois da configuração das tabelas de testes. Normalmente, são utilizados no modelo DataConsumer para configurar vistas que apresentam dados das tabelas de teste.

Espera-se que tudo o que está entre as <etiquetas Script></Script> seja um script SQL válido. Por conseguinte, para comentários, tem de utilizar os /* delimitadores de comentários e */ de várias linhas em vez das etiquetas de comentário XML padrão.
Não validado. Utilize nomes de tabelas personalizados para garantir não substitui ou altera quaisquer tabelas, exceto as declaradas no pacote de gestão.
Secção UnInstallSQLScripts Scripts SQL que têm de ser executados depois de eliminar o pacote de gestão do Conector Configuration Manager na consola do Service Manager.

Espera-se que tudo o que está entre as <etiquetas Script></Script> seja um script SQL válido. Por conseguinte, para comentários, tem de utilizar os /* delimitadores de comentários e */ de várias linhas em vez das etiquetas de comentário XML padrão.
Não validado. Utilize nomes de tabelas personalizados para garantir não substitui ou altera quaisquer tabelas, exceto as tabelas declaradas no pacote de gestão.
DisableParallelProcessing Verdadeiro
Propriedades da Tabela de Dados
DataName A tabela a partir da qual são importados os dados. É utilizado na interface de utilizador (IU) e não é utilizado em consultas.
StageTableName O nome da tabela de testes. Tem de ser único. Uma tentativa de importar um pacote de gestão, no qual o nome da tabela já está a ser utilizado, causa um erro que será registado no registo de eventos.
WatermarkField O nome da coluna rowversion
WatermarkType Os valores possíveis são:

- 0-Indica o tipo DateTime
- 1-Indica o tipo de Carimbo de Data/Hora
- (-1)-Indica nenhuma marca d'água, caso em que WatermarkField se torna opcional
Não são suportados outros tipos de marca d'água.
BatchIdField O nome da coluna que tem uma boa seletividade; utilizado para separar dados incrementais em lotes ao importar para tabelas de testes
BatchIdType Os valores possíveis são:

- 0-Int
- (-1)-Sem lotes, caso em que BatchIdField se torna opcional
Coluna de números inteiros
BatchIdSize O tamanho do lote, se for utilizada a criação de batches. Um número elevado indica que estão a ser lidas ou escritas grandes quantidades de dados em simultâneo. O valor recomendado é 500. Coluna de números inteiros
UseCache Verdadeiro
GroomType Os valores possíveis são:

- 1- Os dados nas tabelas de teste podem ser tratados depois de serem transferidos para a base de dados Service Manager.
- 2- Os dados nas tabelas de teste só são tratados depois de serem marcados como eliminados na base de dados Configuration Manager e também terem sido eliminados na base de dados Service Manager devido à sincronização do conector Service Manager.
QueryString A consulta real que Configuration Manager 2007 utiliza para obter os dados pedidos. A consulta deve ter o formato:

SELECT ...

FROM ...

WHERE ...

ORDER BY ...

A cláusula WHERE pode conter o $COLLECTIONLIST token. Durante a sincronização, este token é substituído pelas coleções especificadas no Assistente do Conector do System Center Configuration Manager.

Os dados expostos pelas vistas Configuration Manager SCCM_Ext.* são suportados para importação. Estes dados podem ser expandidos utilizando extensões sms_def.mof padrão ou utilizando noidmifs. Outras tabelas não são suportadas.

Nomeadamente, as subconsultas não são suportadas, mas as associações a outras tabelas são suportadas.
Não validado. Todas as consultas têm uma coluna Lfx_Status com valor U ou D, que indica se a linha representa uma operação Atualizar ou Eliminar.
CollectionName Um nome para um grupo de tabelas de dados; este nome tem de ser único. As tabelas na mesma coleção não podem depender umas das outras. Uma tentativa de importar um pacote de gestão, no qual o nome da coleção já está a ser utilizado, causa um erro que será registado no registo de eventos.
PrimaryKeyName Uma secção que declara o nome único da chave primária para a tabela de testes. Uma tentativa de importar um pacote de gestão, no qual o nome da chave já está a ser utilizado, causa um erro que será registado no registo de eventos.
DependOnDataTable O nome ou os nomes do DataTable que têm de ser sincronizados primeiro antes deste. Normalmente, é utilizado para sincronizar a tabela de testes antes de o sistema a ler na vista Consumidor.

Se estiver a utilizar várias coleções, a dependência deve ser expressa apenas entre tabelas em coleções diferentes.
Não validado
Propriedades do DataField
Name, Type, AllowNull Estes campos são obrigatórios para qualquer tipo de coluna. Os tipos suportados são int, nvarchar, datetime e xml. Não validado
PrimaryKeyACs, PrimaryKeyPosition Se parte da chave primária indicar a posição da esquerda na chave primária. Lfx adiciona duas colunas de utilização interna (Lfx_Status, Lfx_SourceId) à chave primária no final.
Agrupamento DATABASE_DEFAULT Não validado
Propriedades do DataCollection
DataCollectionName Tem de ser idêntico ao que é referenciado por uma propriedade DataTable Uma tentativa de importar um pacote de gestão, no qual o nome da coleção já está a ser utilizado, causa um erro que será registado no registo de eventos.
StagingName Em DataProvider template-DefaultCache

Em DataConsumer template-Not present
Não validado
DataTables Lista de valores separados por vírgulas (CSV) de tabelas que fazem referência a esta coleção
Definições Em DataProvider template-Not present

No modelo DataConsumer -Indica o mapeamento do tipo
XML de escape com a seguinte sintaxe:

<TypeName>Microsoft.Windows.Computer</TypeName>

<MPName>Microsoft.Windows.Library</MPName>

<MPVersion>version of MP</MPVersion>

<MPToken>token for MP</MPToken>

Exemplos de pacotes de gestão de Configuração do Conector Configuration Manager Personalizado

Seguem-se as definições de esquema e Configuration Manager exemplos de pacotes de gestão do Conector que importam dados da vista Configuration Manager SCCM_Ext.vex_GS_PC_BIOS.

Veja a tabela anteriormente neste artigo para obter mais informações sobre as propriedades destes pacotes de gestão. Utilize um editor de XML, como o editor no Microsoft Visual Studio, para modificar estes exemplos para se adaptarem aos cenários de importação.

Importar dados de uma classe alojada

Quando estiver a especificar uma classe alojada, a vista no modelo DataConsumer deve incluir colunas para a propriedade chave da classe principal. Neste exemplo, a classe que contém as informações do BIOS está alojada num computador.

Neste exemplo, o pacote de gestão de Configuração do Conector Configuration Manager tem duas coleções no DataProvider e nas secções DataConsumer, uma para importar os dados dos computadores e a segunda para importar os dados BIOS.

Definição de Classe


<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 Pacote de gestão de configuração do Conector

<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>

Passos seguintes