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
Configure una conexión con el proveedor de SMS. Para obtener más información, consulte Aspectos básicos del proveedor de SMS.
Consulte al proveedor de SMS la instancia de SMS_AIProxy en la que desea actualizar el catálogo.
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.