Cómo iniciar una sincronización

El catálogo de inteligencia de activos se puede actualizar manualmente, fuera de la programación de sincronización normal. Una actualización manual se realiza mediante el método RequestCatalogUpdate en la clase WMI SMS_AIProxy servidor.

Importante

Este método solo se puede llamar una vez en un período de 12 horas, las llamadas al método subsiguientes no funcionarán.

Actualizar el catálogo de inteligencia de activos

  1. Configurar una conexión con el proveedor de SMS. Para obtener más información, consulte Conceptos básicos del proveedor de SMS.

  2. Consulte al proveedor de SMS para la SMS_AIProxy en la que desea actualizar el catálogo.

  3. Llame al SMS_AIProxy clase RequestCatalogUpdate para ejecutar una acción en la colección.

Ejemplo

El siguiente método de ejemplo ejecuta la actualización en el servidor proporcionado.

Para obtener información sobre cómo llamar al código de ejemplo, vea Calling Configuration Manager Code Snippets.

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

El método de ejemplo tiene los siguientes parámetros:

Parámetro Tipo Descripción
conexión Administrado: WqlConnectionManager

VBScript: SWbemServices
Una conexión válida al proveedor.
serverName Administrado: String

VBScript: String
Nombre del servidor en el que se ejecutará la actualización. Este nombre se asigna a la ProxyName propiedad de una SMS_AIProxy instancia.

Compilar el código

El C# ejemplo requiere:

Espacios de nombres

System

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Ensamblado

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Programación sólida

Para obtener más información sobre el control de errores, vea About Configuration Manager Errors.

Seguridad de .NET Framework

Para obtener más información acerca de cómo proteger Configuration Manager aplicaciones, vea Configuration Manager administración basada en roles.