Guide pratique pour lancer une synchronisation

Le catalogue de Asset Intelligence peut être actualisé manuellement, en dehors du calendrier de synchronisation normal. Une actualisation manuelle s’effectue à l’aide de la méthode RequestCatalogUpdate sur la classe WMI du serveur SMS_AIProxy.

Important

Cette méthode ne peut être appelée qu’une seule fois pendant une période de 12 heures, les appels de méthode suivants ne fonctionnent pas.

Actualiser le catalogue de Asset Intelligence

  1. Configurez une connexion au fournisseur SMS. Pour plus d’informations, consultez principes de base du fournisseur SMS.

  2. Interrogez le fournisseur SMS pour l’instance de SMS_AIProxy sur laquelle vous souhaitez actualiser le catalogue.

  3. Appelez la méthode de la classe SMS_AIProxy RequestCatalogUpdate pour exécuter une action sur la collection.

Exemple

L’exemple de méthode suivant exécute l’actualisation sur le serveur fourni.

Pour plus d’informations sur l’appel de l’exemple de code, consultez Calling Configuration Manager Code Snippets (Appel d’extraits de code 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;    
    }
}  

L’exemple de méthode a les paramètres suivants :

Paramètre Type Description
connection Nage WqlConnectionManager

VBScript : SWbemServices
Connexion valide au fournisseur.
serverName Nage String

VBScript String
Nom du serveur sur lequel exécuter l’actualisation. Ce nom est mappé à la ProxyName propriété d’une SMS_AIProxy instance.

Compilation du code

L’exemple C# nécessite les éléments suivants :

Espaces de noms

Système

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Programmation fiable

Pour plus d’informations sur la gestion des erreurs, consultez À propos des erreurs de Configuration Manager.

Sécurité du .NET Framework

Pour plus d’informations sur la sécurisation des applications Configuration Manager, consultez Configuration Manager l’administration basée sur des rôles.