Partager via


Guide pratique pour lancer une synchronisation

Le catalogue Asset Intelligence peut être actualisé manuellement, en dehors de la planification de synchronisation normale. Une actualisation manuelle est effectuée à l’aide de la méthode RequestCatalogUpdate sur la classe WMI du serveur SMS_AIProxy.

Importante

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

Actualiser le catalogue Asset Intelligence

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

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

  3. Appelez la méthode RequestCatalogUpdate de la classe SMS_AIProxy 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 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
connexion Géré: WqlConnectionManager

VBScript : SWbemServices
Connexion valide au fournisseur.
serverName Géré: 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 :

Espaces de noms

Système

System.Collections.Generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Programmation robuste

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

Sécurité de .NET Framework

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