Initiieren einer Synchronisierung

Der Asset Intelligence-Katalog kann außerhalb des normalen Synchronisierungszeitplans manuell aktualisiert werden. Eine manuelle Aktualisierung erfolgt mithilfe der RequestCatalogUpdate-Methode für die WMI-Klasse des SMS_AIProxy Servers.

Wichtig

Diese Methode kann nur einmal innerhalb eines Zeitraums von 12 Stunden aufgerufen werden, nachfolgende Methodenaufrufe funktionieren nicht.

Aktualisieren des Asset Intelligence-Katalogs

  1. Richten Sie eine Verbindung mit dem SMS-Anbieter ein. Weitere Informationen finden Sie unter Grundlagen des SMS-Anbieters.

  2. Fragen Sie den SMS-Anbieter nach der SMS_AIProxy Instanz ab, auf der Sie den Katalog aktualisieren möchten.

  3. Rufen Sie die SMS_AIProxy Klasse RequestCatalogUpdate-Methode auf, um eine Aktion für die Auflistung auszuführen.

Beispiel

Die folgende Beispielmethode führt die Aktualisierung auf dem bereitgestellten Server aus.

Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager Codeausschnitten.

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

Die Beispielmethode verfügt über die folgenden Parameter:

Parameter Typ Beschreibung
Verbindung Verwalteten: WqlConnectionManager

VBScript: SWbemServices
Eine gültige Verbindung mit dem Anbieter.
serverName Verwalteten: String

Vbscript: String
Name des Servers, auf dem die Aktualisierung ausgeführt werden soll. Dieser Name wird der ProxyName -Eigenschaft einer SMS_AIProxy -Instanz zugeordnet.

Kompilieren des Codes

Für das C#-Beispiel ist Folgendes erforderlich:

Namespaces

System

System.Collections.Generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robuste Programmierung

Weitere Informationen zur Fehlerbehandlung finden Sie unter Informationen zu Configuration Manager Fehlern.

.NET Framework-Sicherheit

Weitere Informationen zum Schützen Configuration Manager Anwendungen finden Sie unter Configuration Manager rollenbasierte Verwaltung.