Delen via


Een synchronisatie initiëren

De Asset Intelligence-catalogus kan handmatig worden vernieuwd, buiten het normale synchronisatieschema. Een handmatige vernieuwing wordt uitgevoerd met behulp van de methode RequestCatalogUpdate op de WMI-klasse SMS_AIProxy Server.

Belangrijk

Deze methode kan slechts eenmaal binnen een periode van 12 uur worden aangeroepen, de volgende methode-aanroepen werken niet.

De Asset Intelligence-catalogus vernieuwen

  1. Een verbinding met de SMS-provider instellen. Zie Basisprincipes van SMS-provider voor meer informatie.

  2. Voer een query uit op de SMS-provider voor het SMS_AIProxy exemplaar waarop u de catalogus wilt vernieuwen.

  3. Roep de methode SMS_AIProxy-klasse RequestCatalogUpdate aan om een actie uit te voeren op de verzameling.

Voorbeeld

Met de volgende voorbeeldmethode wordt de vernieuwing uitgevoerd op de opgegeven server.

Zie Aanroepen Configuration Manager codefragmenten voor meer informatie over het aanroepen van de voorbeeldcode.

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

De voorbeeldmethode heeft de volgende parameters:

Parameter Type Beschrijving
Verbinding Beheerd: WqlConnectionManager

VBScript: SWbemServices
Een geldige verbinding met de provider.
Servernaam Beheerd: String

Vbscript: String
Naam van de server waarop de vernieuwing moet worden uitgevoerd. Deze naam wordt toegewezen aan de ProxyName eigenschap van een SMS_AIProxy exemplaar.

De code compileren

Voor het C#-voorbeeld is het volgende vereist:

Naamruimten

Systeem

System.Collections.Generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Vergadering

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robuust programmeren

Zie Over Configuration Manager fouten voor meer informatie over foutafhandeling.

.NET Framework Beveiliging

Zie Configuration Manager op rollen gebaseerd beheer voor meer informatie over het beveiligen van Configuration Manager toepassingen.