Condividi tramite


Come avviare una sincronizzazione

Il catalogo di Asset Intelligence può essere aggiornato manualmente, al di fuori della normale pianificazione di sincronizzazione. Un aggiornamento manuale viene eseguito usando il metodo RequestCatalogUpdate nella classe WMI del server SMS_AIProxy.

Importante

Questo metodo può essere chiamato una sola volta entro un periodo di 12 ore, le chiamate al metodo successive non funzioneranno.

Aggiornare il catalogo di Asset Intelligence

  1. Configurare una connessione al provider SMS. Per altre informazioni, vedere Nozioni fondamentali sul provider SMS.

  2. Eseguire una query sul provider SMS per l'istanza di SMS_AIProxy in cui si vuole aggiornare il catalogo.

  3. Chiamare il metodo RequestCatalogUpdate della classe SMS_AIProxy per eseguire un'azione sulla raccolta.

Esempio

Il metodo di esempio seguente esegue l'aggiornamento nel server specificato.

Per informazioni sulla chiamata del codice di esempio, vedere Chiamata di frammenti di codice Configuration Manager.

Function InitiateSync(connection, serverName)
    On Error Resume Next    
    Dim classObj: Set classObj = connection.Get("SMS_AIProxy")    
    Dim inParams: Set inParams = classObj.Methods_("RequestCatalogUpdate").InParameters.SpawnInstance_()
    Dim outParams
    inParams.Properties_.Item("ProxyName") = serverName
    Set outParams = connection.ExecMethod("SMS_AIProxy", "RequestCatalogUpdate", inParams)
    If Err.Number <> 0 Then
        InitiateSync = False
    Else
        InitiateSync = True
    End If
    On Error Goto 0
End Function  
public void InitiateSync(WqlConnectionManager connection, string serverName)
{
    try
    {        
        Dictionary<string, object> inParams = new Dictionary<string, object>();
        IResultObject classObj = connection.GetClassObject("SMS_AIProxy");
        inParams.Add("ProxyName", serverName);
        Console.WriteLine("Requesting catalog update on server " + serverName);
        classObj.ExecuteMethod("RequestCatalogUpdate", inParams);    
    }    
    catch (SmsException ex)    
    {        
        Console.WriteLine(String.Format("Failed to request catalog update on server {0}. Error: {1}", serverName, ex.Message));           
        throw;    
    }
}  

Il metodo di esempio include i parametri seguenti:

Parametro Tipo Descrizione
connessione Gestito: WqlConnectionManager

VBScript: SWbemServices
Connessione valida al provider.
Nomeserver Gestito: String

Vbscript: String
Nome del server in cui eseguire l'aggiornamento. Questo nome esegue il mapping alla ProxyName proprietà di un'istanza SMS_AIProxy di .

Compilazione del codice

L'esempio C# richiede:

Namespaces

Sistema

System.collections.generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Programmazione efficiente

Per altre informazioni sulla gestione degli errori, vedere Informazioni sugli errori di Configuration Manager.

Sicurezza di .NET Framework

Per altre informazioni sulla protezione delle applicazioni Configuration Manager, vedere Configuration Manager'amministrazione basata sui ruoli.