Compartir vía


Cómo iniciar una sincronización

El catálogo de Asset Intelligence 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 de servidor SMS_AIProxy.

Importante

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

Actualización del catálogo de Asset Intelligence

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

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

  3. Llame al método RequestCatalogUpdate de la clase SMS_AIProxy 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 Llamar a fragmentos de código de 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;    
    }
}  

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

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 va a ejecutar la actualización. Este nombre se asigna a la ProxyName propiedad de una SMS_AIProxy instancia de .

Compilar el código

El ejemplo de C# 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, consulte Acerca de los errores de Configuration Manager.

Seguridad de .NET Framework

Para obtener más información sobre la protección de aplicaciones Configuration Manager, consulte Configuration Manager administración basada en roles.