Condividi tramite


Importare dati da Configuration Manager in Service Manager

Questo articolo descrive come creare, configurare, disabilitare e abilitare un connettore di Configuration Manager e come personalizzare il file esteso SMS_def.mof di Configuration Manager per raccogliere informazioni sull'hardware. Usare il connettore per importare dati da Configuration Manager in Service Manager.

Il connettore per Configuration Manager riconosce le affinità utente dispositivo e i dispositivi mobili e li sincronizza nel database di Service Manager.

È possibile importare dati dal database del sito di Configuration Manager nel database di Service Manager. In questo modo, vengono creati e popolati automaticamente gli elementi di configurazione per l'hardware e il software da gestire in Service Manager. Al termine dell'importazione dei dati da Configuration Manager, è possibile collegare i rispettivi elementi di configurazione agli eventi imprevisti rilevanti e le informazioni negli elementi di configurazione saranno disponibili per gli analisti che si occupano dell'evento imprevisto.

Se si usa un connettore di Configuration Manager, è possibile importare linee base di configurazione da Configuration Manager e quindi usarle per generare automaticamente eventi imprevisti per gli elementi di configurazione non conformi.

Per informazioni sull'implementazione delle modifiche e delle configurazioni in Microsoft Operations Framework (MOF), vedere Position of the Change and Configuration SMF Within the MOF IT Service Lifecycle (Posizionamento della funzione SMF per le modifiche e le configurazioni nell'ambito del ciclo di vita dei servizi IT di MOF).

Completamento del processo di registrazione del data warehouse

Prima di creare il connettore di Configuration Manager, è necessario assicurarsi che il processo di registrazione del data warehouse sia completo.

Dati aggiuntivi in Configuration Manager

I dati aggiuntivi in Configuration Manager includono i dati di affinità utente dispositivo (UDA), i dati del dispositivo mobile e i dati delle richieste software. I dati di affinità utente dispositivo di Configuration Manager più accurati determinano chi è l'utente primario di un computer o di un dispositivo. I dati di affinità utente dispositivo raccolti dal connettore di Configuration Manager sono usati per popolare le informazioni UsesComputer e PrimaryUser nel database di Service Manager.

I dati dei dispositivi mobili per dispositivi Windows Phone, Windows Mobile e Nokia vengono raccolti dal connettore di Service Manager Configuration Manager. I dati di altri dispositivi mobili, ad esempio iPhone, BlackBerry e telefoni basati su Android, verranno raccolti quando si usa il connettore Exchange Server di Configuration Manager. I dati del dispositivo mobile verranno importati nel database di Service Manager come elementi di configurazione e potranno essere associati a elementi di lavoro, gestione degli eventi imprevisti e gestione delle modifiche.

I dati delle richieste software verranno usati a supporto dell'integrazione delle richieste software self-service con Configuration Manager. I dati della categoria amministrativa di Configuration Manager verranno usati per selezionare i modelli Richiesta di servizio da applicare quando una richiesta viene creata dal Portale self-service.

Pianifica

È possibile configurare il connettore di Configuration Manager per aggiornare il database di Service Manager in base a una pianificazione ricorrente. È possibile inoltre sospendere temporaneamente l'importazione dei dati da Configuration Manager disattivando il connettore. È possibile, ad esempio, disabilitare il connettore quando si eseguono attività di manutenzione sul database del sito di Configuration Manager perché si prevede che il processo di manutenzione creerà temporaneamente dati imprecisi. Al termine delle operazioni, è possibile abilitare nuovamente il connettore e riprendere l'importazione dei dati.

Inventario hardware esteso con Configuration Manager

In Configuration Manager è possibile estendere l'inventario hardware raccogliendo un inventario di classi Strumentazione gestione Windows (WMI) aggiuntive, attributi di classi WMI aggiuntive, chiavi del Registro di sistema e altre personalizzazioni in base ai requisiti dell'organizzazione. Per altre informazioni sull'estensione dell'inventario hardware in Configuration Manager, vedere Come estendere l'inventario hardware.

Se l'inventario hardware è stato esteso in Configuration Manager, è necessario creare un nuovo Management Pack di Configuration Manager Connector in Service Manager per raccogliere l'inventario hardware esteso. Il nuovo Management Pack può contenere solo le informazioni necessarie per raccogliere l'inventario hardware esteso da Configuration Manager o può comprendere tutti gli elementi del Management Pack originale per il connettore di Configuration Manager insieme al nuovo inventario hardware esteso. Per informazioni sulla creazione di un nuovo Management Pack del connettore, vedere How to Configure a Configuration Manager Connector for an Extended SMS_def.mof File.

Importazione di elementi di configurazione software

È possibile importare elementi di configurazione software con Il connettore di Configuration Manager importando le classi di report di Asset Intelligence seguenti in Configuration Manager. È necessario abilitare queste classi in Configuration Manager prima di configurare il connettore di Configuration Manager in Service Manager. Per altre informazioni sull'abilitazione di Asset Intelligence in Configuration Manager, vedere Come abilitare Asset Intelligence.

  • SMS_InstalledSoftware

  • SMS_SystemConsoleUsage

  • SMS_SystemConsoleUser

  • SoftwareLicensingService

  • SoftwareLicensingProduct

Se il software per un determinato computer non viene visualizzato nella visualizzazione Tutto il software nell'area di lavoro Elementi di configurazione, è necessario esaminare il registro eventi di Operations Manager nel server di gestione primario di Service Manager. È necessario controllare gli eventi con origini di connettore OpsMgr e Lfx Service per determinare se siano presenti errori.

Creare un connettore di Configuration Manager

È possibile usare le procedure seguenti per creare un connettore per importare dati da Configuration Manager in System Center - Service Manager e confermare lo stato del connettore.

Importante

Prima di poter creare il connettore di Configuration Manager, è necessario verificare che Configuration Manager sia installato nell'ambiente e che sia necessario attivare Controllo account utente di Windows. Per ulteriori informazioni su Controllo dell'account utente, vedere Controllo dell'account utente.

Per creare un connettore per Configuration Manager

  1. Nella console di Service Manager selezionare Amministrazione.
  2. Nel riquadro Amministrazione espandere Amministrazione e selezionare Connettori.
  3. Nel riquadro Attività, in Connettori selezionare Crea connettore e selezionare Connettore di Configuration Manager. Verrà avviata la creazione guidata del connettore di Configuration Manager.
  4. Nella pagina Prima di iniziare, selezionare Avanti.
  5. Nella pagina Generale eseguire le operazioni seguenti:
    1. Nella casella Nome immettere un nome per il nuovo connettore. Ad esempio, immettere Configuration Manager Connector a Seattle.
    2. Nella casella Descrizione immettere una descrizione per il nuovo connettore. Ad esempio, immettere un connettore di Configuration Manager per il sito Seattle.
    3. Assicurarsi che la casella di controllo Abilitato sia selezionata e selezionare Avanti.
  1. Nella pagina Seleziona Management Pack, nell'elenco Management Pack, selezionare System Center Configuration Manager Connector Configuration Configuration o System Center Configuration Manager 2012 Connector Configuration e selezionare Avanti.
  1. Nell'elenco Management Pack della pagina Seleziona Management Pack selezionare Configurazione del connettore di System Center Configuration Manager e selezionare Avanti.
  1. Nella pagina Connetti al database di System Center Configuration Manager , eseguire le operazioni seguenti:

    1. Nella casella Nome server di database immettere il nome del server che ospita il database del sito di Configuration Manager e il database denominato instance, se applicabile. Ad esempio, nell'ipotetica Woodgrove Bank, è possibile immettere woodgrove\instance1 se il database di Configuration Manager si trova in un'istanza denominata di Microsoft SQL Server o immettere woodgrove se il database si trova in un'istanza predefinita di SQL Server.
    2. Nella casella Nome database immettere il nome del database del sito di Configuration Manager. Ad esempio, immettere SMS_CM1.
    3. Nell'area Credenziali , selezionare un account RunAs o creare un nuovo account RunAs. L'account utente che si specifica come account RunAs deve essere membro dei gruppi smsdbrole_extract e db_datareader per il sito del database di Configuration Manager.
    4. Nell'area Credenziali selezionare Test connessione.
    5. Nella finestra di dialogo Credenziali immettere la password per l'account nella casella Password e selezionare OK.
    6. Nella finestra di dialogo Test connessione, se viene visualizzato il messaggio di conferma seguente, selezionare OK: Connessione al server riuscita.
    7. Selezionare Avanti.
  2. Nella pagina Raccolte selezionare la raccolta appropriata e quindi selezionare Avanti.

  3. Nell'elenco Sincronizza della pagina Pianificazione impostare la frequenza e l'ora di sincronizzazione e selezionare Avanti.

  4. Nella pagina Riepilogo verificare le impostazioni del connettore effettuate e selezionare Crea.

  5. Nella pagina Conferma assicurarsi di ricevere il messaggio di conferma seguente: È stata completata la Procedura guidata connettore di System Center Configuration Manager. Selezionare quindi Chiudi.

    Nota

    L'Importazione guidata connettore di System Center Configuration Manager potrebbe richiedere diverse ore per importare dati da Configuration Manager.

Per convalidare la creazione di un connettore per Configuration Manager

  1. Accertarsi che il connettore per Configuration Manager creato sia visualizzato nel riquadro Connettori .
  2. Nella console di Service Manager selezionare Elementi di configurazione. Nel riquadro Elementi di configurazione espandere Elementi di configurazione, espandere Computer e selezionare Tutti i computer Windows. Verificare che i computer desiderati vengano visualizzati nel riquadro Tutti i computer Windows.
  3. Nel riquadro intermedio, fare doppio clic su un computer appena importato. Verificare che nel modulo del computer compaiano i dati appropriati.

Per verificare lo stato di un connettore per Configuration Manager

  • Esaminare le colonne del riquadro Connettore , in cui sono riportate informazioni sull'ora di inizio e di fine, lo stato e la percentuale di completamento.

Simbolo di PowerShellÈ possibile usare un comando di Windows PowerShell per creare un nuovo connettore di Configuration Manager. Per informazioni su come usare Windows PowerShell per creare un nuovo connettore di Configuration Manager in Service Manager, vedere New-SCCMConnector.

Disabilitare e abilitare un connettore di Configuration Manager

È possibile usare le procedure seguenti per disabilitare o abilitare un connettore di Configuration Manager e convalidare lo stato della modifica.

Per disabilitare un connettore per Configuration Manager

  1. Nella console di Service Manager selezionare Amministrazione.

  2. Nel riquadro Amministrazione espandere Amministrazione e selezionare Connettori.

  3. Nel riquadro Connettori selezionare il connettore di Configuration Manager da disabilitare. Ad esempio, selezionare Connettore di Configuration Manager in SEA.

  4. Nel riquadro Attività, sotto il nome del connettore, selezionare Disabilita.

    Nota

    Se si disabilita un connettore durante la sincronizzazione dei dati, il processo di sincronizzazione potrebbe non essere arrestato. Tuttavia, un connettore disabilitato non importerà nuovi dati da un database di Configuration Manager da quel momento in avanti.

Per abilitare un connettore per Configuration Manager

  1. Nella console di Service Manager selezionare Amministrazione.
  2. Nel riquadro Amministrazione espandere Amministrazione e selezionare Connettori.
  3. Nel riquadro Connettori selezionare il connettore di Configuration Manager che si vuole abilitare. Ad esempio, selezionare Connettore di Configuration Manager in SEA.
  4. Nel riquadro Attività, sotto il nome del connettore, selezionare Abilita.

Per convalidare la variazione dello stato di un connettore per Configuration Manager

  1. Attendere 30 secondi dopo la disabilitazione o l'abilitazione del connettore. Quindi, nella console di Service Manager selezionare Amministrazione e selezionare Connettori.
  2. Nel riquadro Connettori individuare il connettore per il quale è stato modificato lo stato e verificare il valore nella colonna Abilitato.
  3. Se il connettore è stato abilitato, verificare che riprenda ad eseguire la sincronizzazione in base alla pianificazione. Se il connettore è stato disabilitato, verificare che non esegua più la sincronizzazione in base alla pianificazione.

Screenshot del simbolo di PowerShell.È possibile usare i comandi di Windows PowerShell per completare queste attività e altre attività correlate, come indicato di seguito:

  • Per informazioni su come usare Windows PowerShell per avviare un connettore di Service Manager, vedere Start-SCSMConnector.
  • Per informazioni su come usare Windows PowerShell per recuperare i connettori definiti in Service Manager e visualizzarne lo stato, vedere Get-SCSMConnector.
  • Per informazioni su come usare Windows PowerShell per aggiornare le proprietà di un connettore di Service Manager, vedere Update-SCSMConnector.

Sincronizzare un connettore di Configuration Manager

Per assicurarsi che il database di Service Manager sia aggiornato, il connettore di System Center Configuration Manager viene sincronizzato con Configuration Manager ogni giorno dopo la sincronizzazione iniziale. È tuttavia possibile seguire queste procedure per sincronizzare manualmente il connettore e confermare che il connettore è stato sincronizzato.

Per sincronizzare manualmente un connettore per Configuration Manager

  1. Nella console di Service Manager selezionare Amministrazione.

  2. Nel riquadro Amministrazione espandere Amministrazione e selezionare Connettori.

  3. Nel riquadro Connettori selezionare il connettore di Configuration Manager da sincronizzare.

  4. Nel riquadro Attività, sotto il nome del connettore, selezionare Sincronizza ora.

    Nota

    A seconda della quantità di dati da importare, potrebbe essere necessario attendere un certo tempo in modo che il processo venga completato.

Per convalidare la sincronizzazione del connettore per Configuration Manager

  1. Nella console di Service Manager selezionare Elementi di configurazione.
  2. Nel riquadro Elementi di configurazione espandere Computer e selezionare Tutti i computer Windows. Verificare che eventuali nuovi computer in Configuration Manager vengano visualizzati nel riquadro intermedio.

Configurare un connettore di Configuration Manager per un file SMS_def.mof esteso

L'inventario hardware di Service Manager raccoglie e quindi fornisce informazioni di sistema, ad esempio spazio su disco disponibile, tipo di processore e sistema operativo, su ogni computer nella gerarchia di Configuration Manager. In Configuration Manager gli utenti possono personalizzare il file SMS_def.mof predefinito di Configuration Manager per estendere le informazioni dell'inventario hardware raccolte.

Quando si crea un connettore Configuration Manager in Service Manager, è possibile selezionare il Management Pack Configurazione connettore di System Center Configuration Manager predefinito che deve essere usato per tale connettore. Utilizzando il Management Pack predefinito, il connettore importa le informazioni su Desired Configuration Management, hardware e software per i computer presenti nel sistema.

Se il file SMS_def.mof di Configuration Manager è stato esteso per raccogliere dati aggiuntivi sull'inventario hardware e si vuole che tali dati vengano importati in Service Manager, è necessario creare un nuovo Management Pack personalizzato che definisce tali dati aggiuntivi. È quindi necessario creare un nuovo connettore di Configuration Manager e configurarlo per l'uso del nuovo Management Pack personalizzato.

Importare dati di inventario hardware estesi da Configuration Manager

Per importare dati di inventario hardware estesi da Configuration Manager, è necessario creare un Management Pack del connettore di Configuration Manager personalizzato. Sono possibili due approcci per l'implementazione di un connettore Configuration Manager personalizzato:

  • Creare un Management Pack per il connettore Configuration Manager personalizzato che definisca i dati estesi che si desidera importare e quindi creare due connettori. Configurare un connettore per utilizzare il Management Pack di configurazione del connettore di System Center Configuration Manager predefinito per importare i dati definiti per impostazione predefinita. Configurare il secondo connettore per utilizzare il Management Pack personalizzato per importare i dati estesi aggiuntivi.

  • Personalizzare il Management Pack di configurazione del connettore di System Center Configuration Manager per includere anche i dati estesi aggiuntivi. Creare un singolo connettore configurato per utilizzare il Management Pack personalizzato per importare tutte le informazioni necessarie.

Questo articolo fornisce le informazioni necessarie per implementare il primo approccio descritto in precedenza. Vengono forniti i dettagli necessari per poter sviluppare un Management Pack del connettore di Configuration Manager personalizzato che importi l'inventario hardware esteso da Configuration Manager.

I passaggi principali per importare i dati estesi dell'inventario hardware sono i seguenti:

  1. Creare un Management Pack Configurazione connettore di Configuration Manager personalizzato con le definizioni per i dati estesi.
  2. Importare il Management Pack personalizzato in Service Manager. Dopo l'importazione del Management Pack, Service Manager elabora le direttive nel Management Pack per creare tabelle di staging ed eseguire eventuali script SQL (Structured Query Language) di installazione definiti nel Management Pack.
  3. Creare un connettore Configuration Manager e configurarlo per utilizzare il Management Pack personalizzato.
  4. Il connettore Configuration Manager importa i dati.

Usare un Management Pack personalizzato di Configuration Manager Connector

Quando si usa un Management Pack personalizzato di Configurations Manager Connector, prendere in considerazione i suggerimenti seguenti:

  • Gli errori semantici nei modelli di configurazione del connettore nel Management Pack non impediscono l'importazione del Management Pack e vengono registrati nel registro eventi. In questo caso, è necessario eliminare il Management Pack, correggere gli errori e reimportare il Management Pack.

  • Dopo aver creato un connettore di Configuration Manager, non è possibile modificare la selezione del Management Pack. È invece necessario eliminare tale connettore e quindi crearne uno nuovo con la selezione del Management Pack desiderato.

  • Per eliminare correttamente un Management Pack, è necessario eliminare i connettori configurati per utilizzare il Management Pack che si desidera eliminare e quindi eliminare il Management Pack.

    Quando si elimina un Management Pack personalizzato di Configurations Manager Connector, Service Manager tenta di eliminare tutte le tabelle di staging correlate create durante l'importazione del Management Pack. Service Manager esegue quindi tutti gli script definiti nella sezione Disinstalla del Management Pack.

  • A differenza di altri Management Pack, il Management Pack personalizzato di Configuration Manager Connector non può essere sottoposto a controllo delle versioni. Verrà eseguita l'importazione di una versione successiva del Management Pack. Tuttavia, la configurazione del connettore nel Management Pack verrà ignorata o potrebbe causare errori di convalida che vengono registrati nel registro eventi.

Creare un Management Pack di configurazione del connettore di Configuration Manager personalizzato

Un Management Pack Configurazione connettore di Configuration Manager personalizzato presenta una struttura analoga a quella del Management Pack per il connettore Configuration Manager predefinito. Deve contenere i due modelli di oggetto DataProvider e DataConsumer che specificano come importare e applicare i dati.

Sezione DataProvider

La sezione DataProvider fornisce informazioni, ad esempio i dati da importare, che è necessario avere quando si importano dati da Configuration Manager nelle tabelle di staging di LinkingFramework. La sezione DataProvider include le query eseguite nel database del sito di Configuration Manager, le direttive per la creazione di tabelle di staging, gli script SQL personalizzati e le informazioni rilevanti per la sincronizzazione incrementale, ad esempio filigrana e invio in batch.

Sezione DataConsumer

La sezione DataConsumer fornisce informazioni sulla lettura dei dati dalle tabelle di staging e sulla relativa scrittura nello spazio delle istanze del database ServiceManager , ad esempio Entità o Relazioni. La sezione DataConsumer include query eseguite sulle tabelle di staging, il mapping al sistema dei tipi di Service Manager, gli script SQL personalizzati e le informazioni rilevanti per la sincronizzazione incrementale, ad esempio filigrana e invio in batch.

Struttura delle sezioni Modelli a oggetti DataProvider e DataConsumer

DataProvider e DataConsumer sono fondamentalmente modelli di oggetto assegnati a un tipo di proiezione. Il codice seguente mostra la struttura generale delle sezioni 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>

In questo codice, DataTable, Fielde DataCollection sono definiti come segue:

  • DataTable. L'unità di dati più piccola definita per il trasferimento dei dati. Si tratta di una dichiarazione dei dati da recuperare dall'origine dati esterna. Definisce inoltre le dipendenze tra tabelle di dati diverse e il momento in cui sono terminati l'invio in batch, l'impostazione di soglie e la pulitura dei dati.

  • Field. Una singola colonna in una tabella di dati.

  • DataCollection. Un set di tabelle di dati da trasferire in un solo processo o sessione di trasferimento dati. Definisce quali tabelle di dati sono incluse in questa raccolta dati.

Proprietà nel Management Pack personalizzato

Nella tabella seguente sono disponibili i dettagli su ogni proprietà nel Management Pack Configurazione connettore di Configuration Manager personalizzato. Utilizzare queste linee guida quando si crea il Management Pack personalizzato.

Proprietà Valore previsto Convalida dopo l'importazione
ID Per entrambi i modelli DataProvider e DataConsumer , come indicato nell'esempio
Proprietà DataConnector
DataConnectorName Per entrambi i modelli DataProvider e DataConsumer , identici ai valori nell'esempio
IsProvider Nel modello DataProvider - True

Nel modello DataConsumer - False
SolutionName Un commento. Può indicare, ad esempio, il tipo di dati importati. Tentativo di importare un Management Pack in cui il nome della soluzione viene già utilizzato. Causa un errore che viene registrato nel registro eventi.
Punto di ingresso, EntryAssembly & WinformUIAssembly Identico al valore nell'esempio
Sezione InstallSQLScripts Script SQL che devono essere eseguiti dopo la configurazione delle tabelle di staging. Vengono in genere usati nel modello DataConsumer per configurare visualizzazioni che visualizzano dati dalle tabelle di staging.

Tutto ciò che è racchiuso tra i <tag Script></Script> deve essere uno script SQL valido. Pertanto, per i commenti, è necessario utilizzare i /* */ delimitatori di commento a più righe anziché i tag di commento XML standard.
Non convalidato. Utilizzare nomi di tabelle personalizzati per assicurarsi che non vengano sovrascritte o modificate tabelle ad eccezione di quelle dichiarate nel Management Pack.
Sezione UnInstallSQLScripts Script SQL che devono essere eseguiti dopo l'eliminazione del Management Pack di Configuration Manager Connector nella console di Service Manager.

Tutto ciò che è racchiuso tra i <tag Script></Script> deve essere uno script SQL valido. Pertanto, per i commenti, è necessario utilizzare i /* */ delimitatori di commento a più righe anziché i tag di commento XML standard.
Non convalidato. Utilizzare nomi di tabelle personalizzati per assicurarsi che non vengano sovrascritte o modificate tabelle, ad eccezione di quelle dichiarate nel Management Pack.
DisableParallelProcessing Vero
Proprietà di DataTable
DataName Tabella da cui importare i dati. Viene usato nell'interfaccia utente e non viene usato nelle query.
StageTableName Nome della tabella di staging. Deve essere univoco. Il tentativo di importare un Management Pack in cui il nome della tabella viene già utilizzato causa un errore che viene registrato nel registro eventi.
WatermarkField Nome della colonna rowversion
WatermarkType I valori possibili sono:

- 0-Indica il tipo DateTime
- 1-Indica il tipo di timestamp
- (-1)-Indica nessun limite, nel qual caso WatermarkField diventa facoltativo
Altri tipi di filigrana non sono supportati.
BatchIdField Nome di colonna con una valida selettività, utilizzato per separare i dati incrementali in batch durante l'importazione nelle tabelle di staging
BatchIdType I valori possibili sono:

- 0-Int
- (-1)-Nessun batch, nel qual caso BatchIdField diventa facoltativo
Colonna integer
BatchIdSize Dimensione del batch se viene utilizzato l'invio in batch. Un numero elevato indica che è in corso la lettura o la scrittura di molti dati contemporaneamente. Il valore consigliato è 500. Colonna integer
UseCache Vero
GroomType I valori possibili sono:

- 1- I dati nelle tabelle di staging possono essere ripigliati dopo essere stati trasferiti al database di Service Manager.
- 2- I dati nelle tabelle di staging vengono eliminati solo dopo che sono stati contrassegnati come eliminati nel database di Configuration Manager ed è stato eliminato anche nel database di Service Manager a causa della sincronizzazione del connettore di Service Manager.
QueryString Query effettiva usata da Configuration Manager 2007 per recuperare i dati richiesti. Il formato della query deve essere il seguente:

SELECT ...

FROM ...

WHERE ...

ORDER BY ...

La clausola WHERE può contenere il $COLLECTIONLIST token. Durante la sincronizzazione, questo token viene sostituito dalle raccolte specificate nella Creazione guidata di System Center Configuration Manager Connector.

I dati esposti dalle visualizzazioni di Configuration Manager SCCM_Ext.* sono supportati per l'importazione. Questi dati possono essere estesi utilizzando le estensioni sms_def.mof standard o utilizzando noidmifs. Altre tabelle non sono supportate.

In particolare, le sottoquery non sono supportate, ma i join ad altre tabelle sono supportati.
Non convalidato. Tutte le query hanno una colonna Lfx_Status con valore U o D, che indica se la riga rappresenta un'operazione di aggiornamento o eliminazione.
CollectionName Un nome di un gruppo di tabelle di dati. Deve essere univoco. Le tabelle nella stessa raccolta non possono dipendere l'una dall'altra. Il tentativo di importare un Management Pack in cui il nome della raccolta viene già utilizzato causa un errore che viene registrato nel registro eventi.
PrimaryKeyName Una sezione che dichiara il nome di chiave primaria univoco per la tabella di staging. Il tentativo di importare un Management Pack in cui il nome della chiave viene già utilizzato causa un errore che viene registrato nel registro eventi.
DependOnDataTable Uno o più nomi di DataTable che devono essere sincronizzati prima di questo. Vengono in genere utilizzati per sincronizzare la tabella di staging prima che il sistema la legga nella visualizzazione utente.

Se si usano più raccolte, la dipendenza deve essere espressa solo tra tabelle in raccolte diverse.
Non convalidato
Proprietà DataField
Name, Type, AllowNull Campi necessari per qualsiasi tipo di colonna. I tipi supportati sono int, nvarchar, datetime e xml. Non convalidato
PrimaryKeyACs, PrimaryKeyPosition Se parte della chiave primaria indica la posizione a sinistra nella chiave primaria. Lfx aggiunge due colonne per uso interno (Lfx_Status, Lfx_SourceId) alla fine della chiave primaria.
Regole di confronto DATABASE_DEFAULT Non convalidato
Proprietà DataCollection
DataCollectionName Deve essere identico a ciò a cui fa riferimento una proprietà DataTable . Il tentativo di importare un Management Pack in cui il nome della raccolta viene già utilizzato causa un errore che viene registrato nel registro eventi.
StagingName In DataProvider template-DefaultCache

In DataConsumer template-Not present
Non convalidato
DataTable Elenco di tabelle CSV che fanno riferimento a questa raccolta
Impostazione In DataProvider template-Not present

In DataConsumer template-Indica il mapping dei tipi
XML con escape con la sintassi seguente:

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

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

<MPVersion>version of MP</MPVersion>

<MPToken>token for MP</MPToken>

Esempi di Management Pack di configurazione del connettore di Configuration Manager personalizzati

Di seguito sono riportate le definizioni dello schema e gli esempi del Management Pack di Configuration Manager Connector che importano dati dalla vista Configuration Manager SCCM_Ext.vex_GS_PC_BIOS.

Per altre informazioni sulle proprietà di questi Management Pack, vedere la tabella riportata in precedenza in questo articolo. Utilizzare un editor XML, ad esempio l'editor in Microsoft Visual Studio, per modificare questi esempi e adattarli agli scenari di importazione desiderati.

Importare dati da una classe ospitata

Quando si specifica una classe ospitata, la vista nel modello DataConsumer deve includere colonne per la proprietà chiave della classe padre. In questo esempio, la classe contenente le informazioni BIOS è ospitata in un computer.

In questo esempio, il Management Pack Configurazione connettore di Configuration Manager dispone di due raccolte nelle sezioni DataProvider e DataConsumer , una per importare i dati dei computer e la seconda per importare i dati BIOS.

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

Management Pack di configurazione del connettore di 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>

Passaggi successivi